Chinaunix首页 | 论坛 | 博客
  • 博客访问: 420829
  • 博文数量: 78
  • 博客积分: 1527
  • 博客等级: 上尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-27 20:57
文章分类

全部博文(78)

文章存档

2011年(1)

2008年(12)

2007年(53)

2006年(12)

我的朋友

分类:

2007-12-19 10:34:37

正则表达式之特殊字符

1、字符\

对于单个字符,通常按字面意义表示,\字符指出其后的字符为特殊字符,所以不做字面意义解释,而解释为特殊字符。

例如/b/相当于字符b,通过在b前面加一个反斜杠,即为/\b/,则该字符变成特殊字符,表示匹配一个单词的分界线。对于几个字符,通常说明是特殊的,\符号指出其后的字符不是特殊的,而应按字面解释

2、字符*

 表示匹配的字符必须在最前边。

例如 /^A/字符不匹配 an A中的A,但匹配 an A中的最前面的a.

 3、字符$

与^字符类似,但匹配最末的字符。

例如/t$/不匹配eater字符中的t,但匹配eat字符中的t。

 4、字符*

匹配*字符前面的字符的0次或n次。

例如/bo*/匹配 A ghost booooed字符中的boooo或 A bird warbled 中的b,但不匹配 A goat grunted字符中的任何字符。

5、字符 +

 匹配 +字符前面的字符的 1次或n次,等价于 {1,}。

例如/a+/匹配candy字符中的a和caaaaaaaaaaaady字符中的所有 a 。

 6、字符 ?

匹配 ? 字符前面的字符的0次或1次。

例如/e?le?/匹配angel字符中的el和angle字符中的le 。

 7、字符 . (注意看呀,是个点)

.字符匹配除换行符外的所有单个的字符。

例如/.n/匹配nay,an apple is on the tree字符中的an 和on ,但不匹配nay。

8、字符(x)

匹配x字符并记录匹配的值。

9、字符 x|y

匹配x或者y。

10、字符{n}

这里的n 是一个正整数,指匹配前面的n个字符。

例如/a{2}/不匹配“candy"中的a,但匹配“caandy"中的所有a和“caaaandy"中前面的两个a。

11、字符{n,}

这里的n 是一个正整数,指至少匹配n个前面的字符。

例如/a{2}/不匹配“candy"中的a,但匹配“caandy"中的所有a和“caaaandy"中的所有a。

12、字符{n,m}

这里的n 和m都是正整数,指至少匹配n个最多m个前面的字符。

13、字符[xyz]

一字符列表,匹配列出中的任一字符。可以通过连字符-指出字符范围。

例如[abcd]和[a-d]是一样的,它们匹配brisket中的b和echo中的c。

14、字符[^xyz]

一字符补集,它匹配除列出的字符外的所有东西,可以通过连字符-指出字符范围。

例如[^abcd]和[^a-d]等价。它们匹配brisket中的r和echo中的h。

15、字符(空格)

匹配一个空格

16、字符\b

匹配一个单词的分界线,比如一个空格。

例如/\bn\w/匹配noonday中的no,/\wy\b/匹配“possible yesterday"中的ly。

注意:\b规定匹配模式必须出现在目标字符的开头或结尾的2个边界之一。

17、字符\B

匹配一个单词的非分界符。

例如/\Bn\w/匹配noonday中的on,/\wy\b/匹配“possible yesterday"中的ye。

注意:\B规定匹配模式必须出现在目标字符的开头和结尾的2个边界之内,即匹配不能作为目标字符串的开头也不能作为目标字符串的结尾。

18、字符\cX

这里的X是一个控制字符,指匹配一个字符串的控制字符。

例如/\cM/匹配一个字符串中的control-M。

19、字符\d

匹配一个数字,等价于[0-9]。

20、字符\D

匹配任何的非数字,等价于[^0-9]。

21、字符\f

匹配一个表单符

22、字符\n

匹配一个换行符

23、字符\r

匹配一个回车符

24、字符\s

匹配单个空格符,包括空格 、tab、from freed、换行符,等价于[\\f\n\r\t\v]。

25、字符\S

匹配除空格符以外的单个的字符,等价于[^\\f\n\r\t\v]。

26、字符\t

匹配一个制表符

27、字符\v

匹配一个顶头制表符

28、字符\w

匹配所有的数字、字母以及下划线,等价于[A-Za-z0-9]。

29、字符\W

匹配除数字、字母以及下划线外的其他字符,等价于[^A-Za-z0-9]。

30、字符\n

这是一个正整数,指匹配最后一个子串的n 值。

31、字符\ooctal和\xhex

这里的ooctal是一个8进制的escape值,xhex是一个16进制的escape值。

转自:

阅读(4863) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~