繁体   English   中英

Python - 提取以特定子字符串开头的文本

[英]Python - Extract text that starts with a particular sub-string

我正在使用 Python Regex 从电子邮件中提取某些文本

我试过如下:

import re

email = """Hi John,

I am emailing regarding REQ-12345 and REQ-66442.

Many Thanks,

Jane"""


re.findall(r'(?=REQ-)',email)

预期输出: ['REQ-12345', 'REQ-66442']

实际输出: ['', '']

我也尝试了多种不同的东西,但都没有给出正确的结果。

如何实现所需的输出?

预期输出: ['REQ-12345', 'REQ-66442']

然后不要使用零长度断言(这对于在没有得到那个东西的情况下在某事之后或之前抓取文本很有用),如果REQ-总是后跟 1 个或多个数字( 0123456789 )以下就足够了

import re
text = "I am emailing regarding REQ-12345 and REQ-66442."
print(re.findall(r'REQ-[0-9]+',text))

输出

['REQ-12345', 'REQ-66442']
import re

email = """Hi John,

I am emailing regarding REQ-12345 and REQ-66442.

Many Thanks,

Jane"""


re.findall(r'(REQ-\d+)',email)
['REQ-12345', 'REQ-66442']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM