d标志在javascript RegEx中意味着什么?

时间:2010-12-11 04:39:35

标签: javascript regex

我有一个正则表达式,似乎可以在Safari和Chrome中使用,在FireFox中出现以下错误。

Error: invalid regular expression flag d
Source File: http://java.net/projects/mq
Line: 194, Column: 34
Source Code:
    var vbkpatt1=/projects\/[^/]+/di; 

几周前我曾与RegEx打过架并把它放在一边,所以我没有链接到导致我使用'd'标志的页面。指向包含d标志的ref的指针将是解决我的问题的坚实开端。

3 个答案:

答案 0 :(得分:6)

没有d标志,这是你的问题:)有:

  • g - 全局搜索(多个匹配)
  • i - 忽略大小写
  • m - 多输入

答案 1 :(得分:2)

在这种情况下,Webkit浏览器更容忍,并且会接受这样的内容:

/theregex/zxcvbgi

而不是抛出错误,他们将其视为:

/theregex/gi
但是,Firefox会反对任何无效的标志。尼克在他的回答中指出了有效的。

答案 2 :(得分:0)

你确定它在Chrome中实际 吗?我试过了:

/projects\/[^/]+/zyx

它接受/projects\/[^/]+/,但我强烈怀疑这些都是真正的扩展。它只是忽略了它们。正如肯所指出的那样,即使存在无效标志,也会保留有效标志。

此外,我建议您按照good tutorial进行操作,而不仅仅是剪切和粘贴。