正则表达式是什么,/(?!^)/ g是什么意思?

时间:2018-05-24 08:51:49

标签: javascript regex

正则表达式/(?!^)/g是什么意思?

我可以从here x(?!y)看到:仅当x未跟x后才匹配y

这解释了,如果在任何字符集之前使用?!,它会检查后面没有条件。

但我们有?!^。所以,如果我们试着用文字说出来,那可能意味着没有跟着否定。这真的不能让我猜测它是一个可能的陈述。我的意思是否定什么

我还在猜测,无法得出有益的结论。

非常感谢帮助。

谢谢!

2 个答案:

答案 0 :(得分:2)

Circumflex ^仅暗示字符类[^...]中的否定(当作为第一个字符出现时)。在它之外它意味着输入字符串或行的开始。仅包含^的否定前瞻,意味着在输入字符串或行的开头不应找到匹配。

in action

答案 1 :(得分:2)

返回

  • 所有匹配......(/g,全球旗帜)
  • ...后面没有......(x?!y,负向前瞻x是空字符串)
  • ...字符串开头的位置(^

也就是说,除了字符串开头的位置之外,两个字符之间的任何位置都可以看到here

这个正则表达式很有用,因此,用于检测空字符串(毕竟,将正则表达式应用于空字符串将不返回任何匹配项)。空字符串可能是splitting strings的结果,您可能不想对它们执行任何操作。