正则表达式学习

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    正则匹配测试

posted @ 2015-01-23 16:16  隔壁的老郭  阅读(97)  评论(0编辑  收藏  举报