此问题已在此处有答案:
Match text between two strings with regular expression(3个答案)
上个月关门了。
我正在使用Python从专利局提取一些数据。我想使用正则表达式从声明文本中提取第一个声明。文本字符串将以“1”开始开始。包括任意数量的字母、数字、符号,最多“2.”,但不包括“2.”。Python的什么正则表达式将匹配从“1.”到“2.”的文本,但不包括“2."?
我试
p=re.compile(r"/.+?(?=2)/")
然后使用该对象对文本字符串运行搜索,但收到“无”。
1条答案
按热度按时间a0x5cqrl1#
您在lookahead中缺少
.
,因此它将匹配任何2
,而不仅仅是2.
如果文本可以是多行,则需要使用
re.DOTALL
标志,以便.+
匹配换行符。在Python中,你不会在正则表达式周围放置
/
。DEMO