Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么贪心加号的行为与明星不同?_Javascript_Regex_Regex Greedy - Fatal编程技术网

Javascript 为什么贪心加号的行为与明星不同?

Javascript 为什么贪心加号的行为与明星不同?,javascript,regex,regex-greedy,Javascript,Regex,Regex Greedy,在下面的regexp模式中,*和+greedies的行为不同,为什么 这是我的文字: hello abcdef ghijklmc happinessLorem impsum lorem Lorem impsumLorem impsum今天是2003年2月23日 这是regexp: 结果: 使用此模式: 结果: 因为*是0或更多,+是1或更多 当标记名中只有一个字符时: [a-z]与p 与 如果您有一个+,必须与匹配,它将保持匹配,直到下一个(在下一个标记的末尾) 如果您有一个*,则不必与

在下面的regexp模式中,*和+greedies的行为不同,为什么

这是我的文字:

hello abcdef ghijklmc happinessLorem impsum lorem
Lorem impsum

Lorem impsum今天是2003年2月23日

这是regexp:

结果:

使用此模式:

结果:


因为
*
0或更多
+
1或更多

当标记名中只有一个字符时:

  • [a-z]
    p
    • 如果您有一个
      +
      必须与
      匹配,它将保持匹配,直到下一个
      (在下一个标记的末尾)
    • 如果您有一个
      *
      ,则
      不必与
      匹配(因为您可以有0个匹配项),因此
      将与该字符匹配
  • 与下一个

  • 因为
    *
    0或更多
    +
    1或更多

    当标记名中只有一个字符时:

  • [a-z]
    p
    • 如果您有一个
      +
      必须与
      匹配,它将保持匹配,直到下一个
      (在下一个标记的末尾)
    • 如果您有一个
      *
      ,则
      不必与
      匹配(因为您可以有0个匹配项),因此
      将与该字符匹配
  • 与下一个

  • 请不要用正则表达式解析HTML。这将给你带来一个痛苦的世界,DOM已经包含了非常强大的直接使用HTML的方法。
    +?
    *?
    不是贪婪的量词,而是相反的-它们是“懒惰的”或“不情愿的”。请不要用正则表达式解析HTML。它会给你带来痛苦,DOM已经包含了非常强大的直接使用HTML的方法。
    +?
    *?
    不是贪婪的量词,而是相反的-它们是“懒惰的”或“不情愿的”。