zoukankan      html  css  js  c++  java
  • python正则表达式-匹配用符号分割的多个字符串

    代码

    import re
    
    text = "今天我玩了英雄联盟的很多英雄,比如“德玛西亚”、“德玛西亚皇子”、“德邦总管”等等,我玩了穿越火线的许多枪,比如“巴雷特”、“马来剑”等等。"
    pattern = r"比如[“]([u4e00-u9fa5])+[”](、[“]([u4e00-u9fa5])+[”])*"
    res = re.finditer(pattern, text)
    print(res)
    for span in res:
        origin_text = span.group()
        print(origin_text)
        start = text.index(origin_text)
        match_text = re.sub("比如|“|”","",origin_text).split("、")
        for wg in match_text:
            cur_start = origin_text.index(wg)
            abs_start = start + cur_start
            abs_end = abs_start + len(wg)
            print(wg, abs_start, abs_end)
    

    结果

    <callable_iterator object at 0x000002787DEB3C50>
    比如“德玛西亚”、“德玛西亚皇子”、“德邦总管”
    德玛西亚 18 22
    德玛西亚皇子 25 31
    德邦总管 34 38
    比如“巴雷特”、“马来剑”
    巴雷特 57 60
    马来剑 63 66
    
  • 相关阅读:
    CSS 基本语法
    Html 块
    Html 表单
    Html 创建表格
    Html 建立超链接
    Html 在网页中使用图像
    CentOS7 重启问题
    Java 多线程——多线程的引入
    c++ 自然排序-window文件排序
    MFC更改图标
  • 原文地址:https://www.cnblogs.com/xiximayou/p/14274861.html
Copyright © 2011-2022 走看看