可以通过使用圆括号围绕正则表达式的一部分创建组.
这意味着一个组可以作为元字符的参数.如*(重复零次或多次)和?(重复零次或一次)
例如:
可以使用组功能访问匹配组中的内容
可以调用group(0)或者group()返回整个匹配
调用group(n),n要大于0,返回匹配的第n个组
groups()返回所有匹配的分组.
例如:
group(n) n大于分组的数目 会报错
从上面例子可以看出,组是可以嵌套.
有两个特殊的群组,一个是命名组(?P 命名组格式(?P 非捕获组格式(?:...):它们不能通过组方法访问,所以可以将它们添加到现有的正则表达式中,而不会破坏编号. 例如: 元字符(|):与. red|blue,匹配'red'或者'blue' 例如: 在正则表达式中可以使用各种特殊的序列.它们写成反斜杠,然后是一个字符. 一个有用的特殊序列是反斜杠和1到99之间的数字.例如\1或\17,分别指第一组的子表达式,和第17组的子表达式. 例如: ●'(.+)\1'与'(.+)(.+)'不一样,因为\1是指第一组的子表达式,它是匹配的表达式本身. 特殊序列: \d:匹配数字 \s:匹配空格 \w:匹配单词字符 在ASCII模式下,相当于[0-9][\t \n \r \f \v]和[a-zA-Z0-9_] 在Unicode模式下,它们也匹配某些其他字符.例如,\w匹配带有重音的字母 大写字母--\D,\S,\W 这些特殊序列的版本意味着与小写字母相反的版本.例如 \D匹配任何不是数字的东西 ([^0-9]) 例如: (\D+\d):匹配一个或多个非数字后跟一个数字二 特殊序列
关注小编不迷路!下节继续
联系客服