>> regex = re.compile('are|words') >>> [m-6ren">
gpt4 book ai didi

python - 确定 OR 正则表达式的哪个片段与字符串匹配

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:30 29 4
gpt4 key购买 nike

>>> import re
>>> s = "These are the words in a sentence"
>>> regex = re.compile('are|words')
>>> [m.start(0) for m in re.finditer(regex,s)]
[6, 14]

是否有可能得到在索引[6]上匹配,words在索引[14上匹配的信息],不做任何额外的字符串操作?也许就像在这些返回的索引处循环并找到正则表达式的每个片段,即 614

在正则表达式中是否有直接的方法来知道匹配了基于 OR 的正则表达式的哪个片段?

最佳答案

这可以使用 re.MatchObject.group 来完成

来自文档

Returns one or more subgroups of the match. If there is a single argument, the result is a single string

(强调我的)

代码可以写成

>>> import re
>>> s = "These are the words in a sentence"
>>> regex = re.compile('are|words')
>>> [(m.start(0),m.group()) for m in re.finditer(regex,s)]
[(6, 'are'), (14, 'words')]

关于python - 确定 OR 正则表达式的哪个片段与字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36766890/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com