【发布时间】:2016-12-20 12:12:54
【问题描述】:
我正在尝试在文件夹中的文件名中捕获两个特定的单词/字符序列。到目前为止,我在https://regex101.com/ 上给出了正确的输出,但在我正在使用的脚本中却没有。
这是我正在使用的文件名类型:
Bjørn Stallaresvei s 10013.pdf
或
Københavngaten 1 L. 8.pdf
这是我目前想出的正则表达式:
((?<=\s)[a-zA-Z\.]+(?=[\s0-9]+\.pdf))|((?<=\s)[0-9]+(?=.pdf))
我试图在第一行捕获“s”和“10013” - 其中“s”是标识符,10013 是 ID。
第二行也一样,L.是标识符,8是ID。
这只是一个示例代码:
import re
string_1 = "Stallaresvei s 10013.pdf"
regexp = r"(((?<=\s)[a-zA-Z\.]+(?=[\s0-9]+\.pdf))|((?<=\s)[0-9]+(?=.pdf)))"
m = re.search(regexp, string_1)
print(m)
并且输出只显示找到的一个匹配项:
<_sre.SRE_Match object; span=(13, 14), match='s'>
【问题讨论】:
标签: python regex python-3.x