当前位置:  开发笔记 > 编程语言 > 正文

Python-Regex,这里发生了什么?

如何解决《Python-Regex,这里发生了什么?》经验,为你挑选了1个好方法。

我最近有一本关于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)

返回第二组的匹配,这是一个未命名的组"(...)"

希望有所帮助.



1> 小智..:

正则表达式定义:

(?P...)

创建一个命名组"zip"

Zip:\s*

匹配"Zip:"和零个或多个空格字符

\d

匹配一个数字

\w

匹配单词字符[A-Za-z0-9_]

y.groupdict('zip')

groupdict方法返回一个字典,其中命名组为键,其匹配为值.在这种情况下,将返回"zip"组的匹配项

y.group(2)

返回第二组的匹配,这是一个未命名的组"(...)"

希望有所帮助.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有