文章目录
  1. 1. 什么是正则表达式
  2. 2. 常用正则表达式

本门讲述简单的正则表达式入门,这里只是让你明白其中的原理,要更深入地了解正则表达式的请跳过。

什么是正则表达式

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式。




## 入门
最简单的正则表达式:ctrl+f打开查找框,输入你要搜索的文字… ,好吧,我无聊了



## 常用的元字符
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
需要查找元字符本身,则可以通过\转义,C:\Windows匹配C:\Windows




## 常用的限定符
代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
[]是定义匹配的字符范围
{}一般用来表示匹配的长度

以上都是比较常用的正则表达式字符,更详细请查看:关于正则表达式语言元素的MSDN在线文档
测试正则表达式是否正确:正则表达式测试工具


常用正则表达式

以下对一些常用的表达式进行简单的分解:
匹配中文字符的正则表达式: [u4e00-u9fa5]  
(匹配中文字符范围,u4e00是unicode码)


匹配首尾空白字符的正则表达式:^\s|\s$       
(^是匹配字符串开始,接着\s代表空白字符,代表后面不用管了,所以|前面是指匹配空白字符开头,|是分支,像编程语言的||,  \s$就是指匹配空白字符结尾)


匹配腾讯QQ号:[1-9][0-9]{4,}
(QQ号从10000号开始,开头[1-9]从1开始到9,剩下的从0-9中选取,最少4次)


匹配身份证:\d{15}|\d{18}
(中国身份中15或18位,这个匹配太简单了)


匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
(3个数字-8个数字,或者4个数字-7个数字)



匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)
1(\w匹配除换行符以外的任意字符,+至少出现一次,
2([-+.]\w+)是一个整体,,任意包含  - + .  及 \w字符的组合至少出现零次和更多次
3 @  固定出现符号
4  \w+  出现至少1次以上 \w的字符 
5  [-.]\w+  出现零次或多次这种组合的字符
6  .   固定.符号
7  \w+([-.]\w+)*  这种组合是规定要以  \w类型字符开头,然后后面跟上\w以及 - 中划线 .点号 的组合


不行了,头疼,到此为止吧,正则表达式太累人了,了解一下原理,看到复杂的表达式就逐个分解
文章目录
  1. 1. 什么是正则表达式
  2. 2. 常用正则表达式