有为少年 2022-02-04 15:14 采纳率: 100%
浏览 14
已结题

如何使用正则表达式匹配`![sadf](1538105944188.png)softmax![z]REPLACEasfjlsa`中`![z]REPLACE`?

我使用!\[.*?\]REPLACE只能匹配到一个整的字符串:

![sadf](1538105944188.png)softmax![z]REPLACE

我希望只得到:

![z]REPLACE

需要注意的是,这里的方括号里的字符串可能是任意数量的任意ascii字符,因为其中包含的是latex数学公式。

  • 写回答

1条回答 默认 最新

  • chuifengde 2022-02-04 16:45
    关注
    import re
    
    s = """`![sadf](1538105944188.png)softmax![z]REPLACEasfjlsa`中`![z]REPLACE`?"""
    res = re.findall('(!\[[^!]*?\]REPLACE)', s, re.DOTALL)
    print(res)
    '''---result
    ['![z]REPLACE', '![z]REPLACE']
    '''
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月12日
  • 已采纳回答 2月4日
  • 创建了问题 2月4日