正则表达式符号

稍微记一下正则表达式的符号:

符号 符号用途说明

\

将下一个字符标记为一个特殊字符,或一个原义字符,或一个向后引用,或一个八进制转义字符

如:\n 表示换行, \\ 表示 \ 。

^ 匹配字符串的开始位置,如果设置了RegExp对象的Multiline属性,则 ^ 也匹配 \n 或 \r之后的位置。
$ 匹配字符串输入结束位置,若设置了RegExp对象的Multiline属性,则 $ 也匹配 \n 或 \r之前的位置。
{n}   n是一个非负整数,匹配确定的n次,如:o{2} 能匹配 food 中的 oo 但不能匹配 boy中的o,是 foood 则只匹配一次,fooood则匹配2次
{n,} 

n是一个非负整数,至少匹配n次,如:o{2,} 可以匹配 foood中的o,但 boy中的o则不行。

若为o{0,},则匹配任意个数的o,有没有o都可以。

 [a-z] 字符范围,可以是0-9 或 a-z的形式 
 * 匹配其前面的字符0此或多次 
(pattern) 

匹配pattern并获得这一匹配,获取的匹配可以从产生的 Matches 集合中得到 ,其实就是把括号中的内容看成一个整体

(或者说一个原子元素,不知这么说对不对)。

 + 匹配前面的子表达式一次或多次,等价于{1,} 

 

 

 

 

 

 

 

 

 

 

 

 

?

用途一:匹配前面的表达式字符1此或0次,等价于{0,1}。

用途二:当该限制符紧跟其他任何一个限制符后时,表示非贪婪比坏模式。

(其他限制符包括: *, +, ?, {n}, {n,}, {n,m})。非贪婪模式尽可能少的匹配所搜索的字符串,

如:对于字符串 aaaa,a+?将匹配一个o,而o+将匹配所有o。

 . 匹配除 \n 之外的任何字符,若要匹配包含 \n,可用:[.\n] 
 \w  匹配包括下划线的单词字符,包括数字,字符,下划线,等价于:[0-9a-zA-Z_] 
[^xyz] 匹配任何不包含xyz的字符
 \W 匹配不包含单词字符的任何字符,等价于[^0-9a-zA-Z_] 
 \b 匹配单词中的边界,即单词和空格间的位置,如 ak\b 可以匹配 aknowledge 中的ak,但 oo\b 不能匹配loop 中的oo.
 \un 匹配n,n是一个由4位十六进制数组成的unicode字符,比如中文字符是:\u4200-\u9fa5.
 \d 匹配一个数组,等价于[0-9] 
 \D 匹配一个非数字,等价于[^0-9] 
   

 

 

 

 

 

 

 

待续。。。

posted @ 2014-04-14 00:50  Ben·lucky  阅读(197)  评论(0编辑  收藏  举报