首页 > 解决方案 > 如何正则表达式避免最后匹配的字符串

问题描述

写了一个正则表达式来获取字符直到搜索到的字符。直到#我需要提取

import re
text = '''text1
text2
text3
#text4
text5'''
print(re.search('(?s)\A.*?(\#)', text))

我的出局

<re.Match object; span=(0, 19), match='text1\ntext2\ntext3\n#'>

预期的

<re.Match object; span=(0, 19), match='text1\ntext2\ntext3'>

标签: pythonregex

解决方案


只是一个使用积极前瞻的例子(?=#)。使用以下模式:

(?s)\A.*(?=\#)

推荐阅读