我最近有一本关于python的书,它有一章关于Regex,有一段我无法理解的代码.有人能解释一下这里发生了什么(这部分是关于Regex组)吗?
>>> my_regex = r'(?PZip:\s*\d\d\d\d\d)\s*(State:\s*\w\w)' >>> addrs = "Zip: 10010 State: NY" >>> y = re.search(my_regex, addrs) >>> y.groupdict('zip') {'zip': 'Zip: 10010'} >>> y.group(2) 'State: NY'
小智.. 8
正则表达式定义:
(?P...)
创建一个命名组"zip"
Zip:\s*
匹配"Zip:"和零个或多个空格字符
\d
匹配一个数字
\w
匹配单词字符[A-Za-z0-9_]
y.groupdict('zip')
groupdict方法返回一个字典,其中命名组为键,其匹配为值.在这种情况下,将返回"zip"组的匹配项
y.group(2)
返回第二组的匹配,这是一个未命名的组"(...)"
希望有所帮助.
正则表达式定义:
(?P...)
创建一个命名组"zip"
Zip:\s*
匹配"Zip:"和零个或多个空格字符
\d
匹配一个数字
\w
匹配单词字符[A-Za-z0-9_]
y.groupdict('zip')
groupdict方法返回一个字典,其中命名组为键,其匹配为值.在这种情况下,将返回"zip"组的匹配项
y.group(2)
返回第二组的匹配,这是一个未命名的组"(...)"
希望有所帮助.