python - 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 '>
解决方案
该函数调用new_v1.search(txt)
返回一个具有各种属性的匹配对象。您可以调用它的方法来检索有关匹配和匹配文本的各种事实。提取匹配文本的最简单方法可能是
print(new_v1.search(txt).group(0))
但您当然也可以提取start
andend
属性并自己提取跨度:
matched = new_v1.search(txt)
print(txt[matched.start():matched.end()])
当然,对于普通的正则表达式,匹配的文本将完全是正则表达式本身;也许您实际上对在字符串中找到匹配项的确切位置更感兴趣。
推荐阅读
- php - 目录中的 Zip 文件使用部分 URL 作为文件名
- c# - Entity Framework Core 接收 0 以作为 Id 播种,尽管我将其定义为其他内容
- python - if not arg 的 discord.py 问题(清除命令)
- typescript - 打字稿 - 无法更新对象内的对象
- r - R 包中测试文件的位置
- python - 我如何检查一个标识符是 dunder 还是 class-private(即会被破坏)?
- unix - 在 UNIX shell 脚本中为每“n”次执行引入等待时间
- mysql - 无法使用密码登录 mysql - Ubuntu
- javascript - 如何编写 xpath 以使用 Selenium 和 C# 从文本节点中提取日期
- windows - 域脱机时,如何使用凭据提供程序中本地缓存中的 UPN 名称翻译或查询缓存域用户的 SAM 帐户名称?