首页 > 解决方案 > Python正则表达式显示跨度之间的所有字符

问题描述

我想查看 span=(179, 331) 之间的所有内容,如何显示这个?提前谢谢

new_v1 = re.compile(r'Sprzedawca:')
new_v2 = re.compile(r'lp ')
print(new_v1.search(txt))
print(new_v2.search(txt))

输出:

<re.Match object; span=(179, 199), match='Sprzedawca: Nabywca:'>
<re.Match object; span=(328, 331), match='lp '>

标签: pythonregex

解决方案


该函数调用new_v1.search(txt)返回一个具有各种属性的匹配对象。您可以调用它的方法来检索有关匹配和匹配文本的各种事实。提取匹配文本的最简单方法可能是

print(new_v1.search(txt).group(0))

但您当然也可以提取startandend属性并自己提取跨度:

matched = new_v1.search(txt)
print(txt[matched.start():matched.end()])

演示:https ://ideone.com/CFXjx2

当然,对于普通的正则表达式,匹配的文本将完全是正则表达式本身;也许您实际上对在字符串中找到匹配项的确切位置更感兴趣。


推荐阅读