Python 如何使用正则表达式避免最后匹配的字符串

Python 如何使用正则表达式避免最后匹配的字符串,python,regex,Python,Regex,编写了一个正则表达式来获取字符,直到找到搜索到的字符为止。在这里直到我需要提取 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), m

编写了一个正则表达式来获取字符,直到找到搜索到的字符为止。在这里直到我需要提取

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'>

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

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

改为使用前瞻:
(?=\n#)
请停止从各种帐户登录,(?s)\a.*(#)为什么这个正则表达式不起作用?#有贪婪匹配对吗?@cdac上面的内容与我发布的不同。我甚至不知道你为什么把
放在散列之前而没有定义它(这是一个不正确的模式)<代码>?前面的括号仅表示可以有0到无限的1次或无次。。。