如果字符串包含特定单词,则不匹配

时间:2016-01-30 12:27:52

标签: regex pcre

我现在已经解决了这个问题一段时间了,地球上的每个网站都告诉我同样的答案似乎并没有起作用。

我尝试匹配任何字符串,只要字符串data:在开头不存在。最终,我试图阻止人们将数据URI注入我的解析器。我到目前为止提出的最佳模式是:

((?!data:).*)

但它实际上并没有起作用。完全没有。

https://regex101.com/r/oR3iD8/2

1 个答案:

答案 0 :(得分:2)

当然,最简单的“模式”将是......

data:

嘿,如果匹配,你丢弃字符串。如果它不匹配,则获取完整的输入字符串。为什么即使使用正则表达式,一个简单的“字符串包含”函数也可以。

如果确实需要正则表达式解决方案,请使用前瞻:

(?s)\A(?!.*?data:).*

但是真的,为什么要这么麻烦?