如何使用regex python获取数据?

2024-10-01 15:28:03 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么这样不行?在regex finder中,它匹配。我试图在字符串中获取.//

pat = '[\.\/]+(?!(docx|doc|pdf))'
bad = re.compile(pat)
bad.findall(tails[1])

print tails[1]
".//2005 Neuropathophys.doc"

这种模式似乎在regex matcher网站http://regex101.com/上起作用

enter image description here


Tags: 字符串redocpdffinder模式regexbad
2条回答

您的正则表达式将如下所示,以匹配.//,该正则表达式后面不跟docxdocpdf

\.//(?!docx|doc|pdf)

DEMO

在这种情况下,我认为在[]中不需要\。我认为\用作转义符。但是您不需要在Python正则表达式的[]中使用\。因为字符在[]中自动转义

所以使用regexp[./]+而不是[\.\/]+

示例:

>>> import re
>>> s = ".//2005 Neuropathophys.doc"
>>> re.match("[./]+", s).group()
'.//'

相关问题 更多 >

    热门问题