首页 > 代码库 > 正则表达式学习

正则表达式学习

1.常用元字符

.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

2.字符转义

如 . ,* 得 使用 \.和\*。要查找\本身,你也得用\\.

 

3.重复

*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

 

 [1,2,3]  表示其中一个

4.分支匹配

具体方法是用|把不同的规则分隔开 ,匹配中一个即可

0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)。

 

5.分组 即将()里边的当做一组

前面提到了怎么重复单个字符(直接在字符后面加上限定符就行了);重复多个字符用 小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。

(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。

 

http://tool.oschina.net/regex    正则匹配测试

正则表达式学习