我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

python代码,可以使用re正则表达式进行文字匹配,匹配的字符串对象有个起始位置和终止位置。通过这个起始位置以及终止位置信息可以获得匹配的字符串。那么,这种方案效果如何呢?是否符合要求呢?

苏南大叔:python代码,正则表达式如何获得字符串匹配位置? - 正则表达式匹配位置信息
python代码,正则表达式如何获得字符串匹配位置?(图2-1)

大家好,这里是苏南大叔的程序如此灵动博客,记录苏南大叔和计算机代码的故事。本文描述python里面的re库中的span()函数。测试环境:win10python@3.6.8

测试代码

测试代码如下:

import re
_tag = ["【","】"]
_str = _tag[0]+"123abcde"+_tag[1]+"span()函数测试"
_re  = re.match(_tag[0]+'[0-9a-z]*'+_tag[1], _str)
if (_re):
    # print(_re.string)
    # print(_re.group())
    result = _re.span()
    # print(result) # (0,10)
    # print(result[0],result[1])
    # print(_re.start())
    # print(_re.end())
    start = result[0] + len(_tag[0])
    end   = result[1] - len(_tag[1])
    print(_str[start:end])
else:
    print("没匹配到")

苏南大叔:python代码,正则表达式如何获得字符串匹配位置? - 正则表达式代码
python代码,正则表达式如何获得字符串匹配位置?(图2-2)

.span()获取位置

对于匹配字符串的位置信息:

  • .start(),返回匹配信息起点。
  • .end(),返回匹配信息终点。
  • .span(),返回[start,end]信息。

.group()获取字符串

  • .string,返回了整个字符串。
  • .group(),返回了匹配的字符串,注意包括的是正则中的信息,范围较大。(即本例中的【】符号)

相关文章

综述

在正则表达式上,还有很多的使用场景。更多python相关经验文章,请点击链接:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    re