字符类和元字符

2007年07月25日 原创

有很多常见的字符类(或取反的字符类)存在等价的元字符。比如:

\w [A-Za-z0-9_]
\W [^A-Za-z0-9_]
\d [0-9]
\D [^0-9]
\s [fnrtv])
\S [^fnrtv])

另外,在使用字符类时应该注意以下问题: 查看全文 »

字符类,顾名思义就是某一类字符或者将某些字符分成一类。正则表达式中的字符类用一对方括号([])来表示,比如 [abcd] 或 [0123456789]。事实上,字符类所暗含的意思就是选择性,即“多选一”――不管方括号中包含多少个字符,一对方括号一次只能匹配一个字符。 查看全文 »

在正则表达式中,可以用一对(英文)圆括号创建一个分组。比如模式

([A-Z]+)(\d+)

[A-Z]+\d+

返回的匹配结果相同,但前者使用了两对圆括号分组还捕获了额外的两个子字符串。举例来说,如果用上面两个模式来测试字符串 ABC123,那么第二个模式会返回 ABC123(因为匹配成功),而第一个模式除了返回 ABC123 这个匹配项之外,还会捕获两个组,第一个组中包含 ABC,而第二个组中包含 123。这两个分组都是捕获组――即捕获匹配项中子字符串的组。 查看全文 »