<分区>
在 Java 中,您可能会尝试使用 Pattern.compile("stackoverflow.com")
创建一个与 URL stackoverflow.com
匹配的正则表达式。但这是错误的,因为 .
在正则表达式中具有特殊含义。解决此问题的最简单方法是编写 Pattern.compile(Pattern.quote("stackoverflow.com"))
,结果为:Pattern.compile("\\Qstackoverflow.com\\E")
其中 "quotes" the entire string .
我想在 JavaScript 中做同样的事情,但是 JavaScript 的正则表达式没有为 \Q
和 \E
赋予任何意义而且它看起来不像有一个等效的 JavaScript,所以我不确定如何去做。我的第一个想法(请参阅下面的回答)是在 JavaScript 正则表达式中具有特殊含义的任何字符前放置一个反斜杠,但这似乎很容易出错,我怀疑有人可能知道更好的方法。
这是针对 Firefox 扩展的,因此可以使用特定于 Mozilla 的解决方案。