regex 提取专利文本第一项权利要求的正则表达式[副本]

w1e3prcc  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(48)

此问题已在此处有答案

Match text between two strings with regular expression(3个答案)
上个月关门了。
我正在使用Python从专利局提取一些数据。我想使用正则表达式从声明文本中提取第一个声明。文本字符串将以“1”开始开始。包括任意数量的字母、数字、符号,最多“2.”,但不包括“2.”。Python的什么正则表达式将匹配从“1.”到“2.”的文本,但不包括“2."?
我试

p=re.compile(r"/.+?(?=2)/")

然后使用该对象对文本字符串运行搜索,但收到“无”。

a0x5cqrl

a0x5cqrl1#

您在lookahead中缺少.,因此它将匹配任何2,而不仅仅是2.
如果文本可以是多行,则需要使用re.DOTALL标志,以便.+匹配换行符。
在Python中,你不会在正则表达式周围放置/

p = re.compile(r'1\..+?(?=2\.)', flags=re.DOTALL)

DEMO

相关问题