[英]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
模块中的search
和match
函数返回的对象有一个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.