python学习之re 9 (?:)

时间:2021-11-23 00:12:17

(?:...)A non-capturing version of regular parentheses. Matches whatever regular expression is inside the parentheses, but the substring matched by the group  cannot be retrieved after performing a match or referenced later in the pattern.

翻译:RE表达式中,这种表示括号里面的内容不会进行捕获,也就是说不会形成组。匹配括号里面的所有的RE表达式。但是匹配的子串不能获取,也不可以通过\number的形式获取。

案例一

import re
string1 = """hello,
world.
hello,
python."""
print(len(string1))
rs = re.match("(?sm)(?:.*?\..*?,$\n.*?.$)",string1)
print(rs.groups(),rs.span())
print(rs.group(0))

输出

28
() (0, 28)
hello,
world.
hello,
python.

通过案例说明,这个只是单纯的进行匹配,不会形成组。只是将RE表达式放在一块的作用。