【发布时间】:2014-03-31 22:46:22
【问题描述】:
我在 Python 中处理正则表达式的逻辑时遇到了一些麻烦。如果字符串以子字符串结尾,我想编写一个 不 返回匹配项的正则表达式。最终,我试图排除在<a> 标签的href 属性中找到的任何二进制文件链接。 (这是在 Scrapy 中实现的)
我的问题是,如果我的正则表达式是 [^ \t\n\r\f\v]+[\/]?(?<!.pdf) 并且它找到指向 someDocument.pdf 的链接,它会返回 someDocument.pd
如果发现该字符串,我该如何防止返回任何匹配项?
【问题讨论】:
-
“如果字符串以子字符串结尾”:这难道不是总是吗?字符串的所有部分都是子字符串,包括“end”。
-
@Asad 我认为他的意思是“如果一个字符串以某个子字符串结尾”
-
@AdamSmith 啊,我明白了,谢谢。 @OP所以,澄清一下,您是否正在寻找不以
.pdf结尾的字符串?如果是这样,您可以否定为^.*\.pdf$测试字符串的结果。