【发布时间】:2012-04-21 00:39:00
【问题描述】:
在 Python 中,(?P<group_name>…)syntax 允许通过其名称引用匹配的字符串:
>>> import re
>>> match = re.search('(?P<name>.*) (?P<phone>.*)', 'John 123456')
>>> match.group('name')
'John'
“P”代表什么?我在official documentation 中找不到任何提示。
我很想知道如何帮助我的学生记住这种语法。知道“P”代表(或可能代表)什么会很有用。
【问题讨论】:
-
P代表Placeholder。 -
@kev:看起来应该是一个答案?
-
既然猜测是正确的,我猜想肯汤普森是一个嬉皮士同情者,“P”代表“广藿香”。
-
此问题已添加到Stack Overflow Regular Expression FAQ 的“群组”下。
-
顺便说一句,如果你使用
match.groups(带有s)你会默默地得到一个all组的元组-_-groups('name')=> @ 987654331@ 当你真正想要的是group('name')=>'John'我希望这可以在某个地方节省一些时间。
标签: python regex regex-group