分类: C/C++
2008-08-01 17:02:53
字符元 | 意义 |
. | 匹配单个字符 |
[ ] | 指定一个字符类,匹配方括号内的任意字符。例:[abc] 匹配 "a", "b"或 "c"。 |
^ | 如果^出现在字符类的开始处,它否定了字符类,这个被否定的字符类匹配除却方括号内的字符的字符。如:[^abc]匹配除了"a", "b"和"c"之外的字符。如果^出现在正则表达式前边,它匹配输入的开头,例:^[abc]匹配以"a", "b"或"c"开头的输入。 |
- | 在字符类中,指定一个字符的范围。例如:[0-9]匹配"0"到"9"的数字。 |
? | 指明?前的表达式是可选的,它可以匹配一次或不进行匹配。例如: [0-9][0-9]? 匹配"2"或"12"。 |
指明?前的表达式匹配一次或多次。例如:[0-9] 匹配"1", "13", "666"等。 | |
* |
指明*前的表达式匹配零次或多次。 |
??, ?, *? | ?, 和*的非贪婪匹配版本,它们尽可能匹配较少的字符;而?,
和*则是贪婪版本,尽可能匹配较多的字符。例如:输入" |
( ) | 分组操作符。例如:(\d ,)*\d 匹配一串由逗号分开的数字,例如: "1"或"1,23,456"。 |
\ | 转义字符,转义紧跟的字符。例如,[0-9] 匹配一个或多个数字,而 [0-9]\ 匹配一个数字后跟随一个加号的情况。反斜杠\也用于表示缩写,\a 就表示任何数字、字母。如果\后紧跟一个数字n,则它匹配第n个匹配群组(从0开始),例如,<{.*?}>.*?\0>匹配"Contents"。注意,在C 字符串中,反斜杠\需要用双反斜杠\\来表示: "\\ ", "\\a", "<{.*?}>.*?\\0>"。 |
$ | 放在正则表达式的最后,它匹配输入的末端。例如:[0-9]$匹配输入的最后一个数字。 |
| | 间隔符,分隔两个表达式,以正确匹配其中一个,例如:T|the匹配"The" 或"the"。 |