对于exec()
方法而言,即使在模式中设置了全局标志g
,它每次也只能返回一个匹配项。在不设置全局标志情况下,在同一个字符串上多次调用exec()
方法将始终返回第一个匹配项的信息,在设置全局标志的情况下,每次调用exec()
则都会在字符串中继续查找新的匹配项。如下演示:
下面的例子中不仅有全局标志g 还有一个s标志 用于将 . 也能配到换行符!(原本空格和换行 是由 \s+ 来表示的 但是可以加一个s标志在结尾来简化操作!)
得到两个匹配结果:
所以我们写正则 常常加上s标志然后用while循环来不断匹配 知道匹配不到为止