正则表达式
上一篇 /
下一篇 2014-07-03 11:33:45
/ 个人分类:工具备忘录
元字符:
\b 代表着单词的开头或结尾,也就是单词的分界处 (精确查找hi这个单词的话,我们应该使用\bhi\b)
. 匹配除了换行符以外的任意字符
* 代表的不是字符,也不是位置,而是数量,它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
(\bhi\b.*\bLucy\b:先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词)
+ 代表数量,指定+前面的内容重复1次或更多次
\d 匹配一位数字(0,或1,或2,或……)
\s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等
\w 匹配字母或数字或下划线或汉字等
一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。
\(?0\d{2}[) -]?\d{8}
这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。
表1.常用的元字符
|
代码
|
说明
|
.
|
匹配除换行符以外的任意字符
|
\w
|
匹配字母或数字或下划线或汉字
|
\s
|
匹配任意的空白符
|
\d
|
匹配数字
|
\b
|
匹配单词的开始或结束
|
^
|
匹配字符串的开始
|
$
|
匹配字符串的结束 |
表2.常用的限定符
|
代码/语法
|
说明
|
*
|
重复零次或更多次
|
+
|
重复一次或更多次
|
?
|
重复零次或一次
|
{n}
|
重复n次
|
{n,}
|
重复n次或更多次
|
{n,m}
|
重复n到m次
|
表3.常用的反义代码
|
代码/语法
|
说明
|
\W
|
匹配任意不是字母,数字,下划线,汉字的字符
|
\S
|
匹配任意不是空白符的字符
|
\D
|
匹配任意非数字的字符
|
\B
|
匹配不是单词开头或结束的位置
|
[^x]
|
匹配除了x以外的任意字符
|
[^aeiou]
|
匹配除了aeiou这几个字母以外的任意字符
|
收藏
举报
TAG: