繁体   English   中英

找到匹配字符串或正则表达式的结束偏移量

[英]Find the end offset of a matched string or regex

str.find()返回字符串中匹配项的起始偏移量。 怎么能得到结束偏移?

我知道一种方法是将它添加到比赛的长度。 但有没有办法直接得到它?

例如

>>> a = 'Lorem ipsum dolor sit amet'
>>> a.find('ipsum')
6

我想要的是:

>>> a.find('ipsum')+len('ipsum')
11

str.find()情况下,这是微不足道的。 但是在regex情况下变得更加重要,因为事先不知道匹配表达式的长度。

Python的re模块中的searchmatch函数返回的对象有一个span()方法,它返回匹配的正则表达式的开始和结束位置:

>>> import re
>>> a = 'Lorem ipsum dolor sit amet'
>>> re.search('ipsum', a).span()
(6, 11)
>>> re.search('sum.*sit', a).span()
(8, 21)

也可以使用.start().end()单独返回开始和结束位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM