在 javascript 正则表达式中,您可以为全局添加一个“g”修饰符,为多个添加一个“m”。它们之间有什么区别,或者它们是同一个东西?
问问题
3215 次
2 回答
10
m
不代表“multiple”,而是代表“multiline”。它分别在行的开头和结尾进行匹配(而不仅仅是字符串的开头和结尾)^
。$
好吧,g
实际上意味着“全局”,因此正则表达式引擎在第一个匹配之后继续寻找更多匹配。
于 2012-11-15T00:48:52.300 回答
0
/m
可以考虑为/g
.
这是一个简单的测试:
hello my darling
you are so sweat
and hello my beauty
hello my lady
you are so kind
hello my heartbeat
you drum like a spring wind
/^hello/g
: 只会匹配一个子字符串,就是开头的那个,整个字符串的“hello”。
/g
用于匹配从开头“hello”到结尾“wind”的整个字符串。
/^hello/gm
: 将单独匹配 1,4,6 行。
/gm
也用于匹配整个字符串,但它会通过换行符分割整个字符串 > 并且它将使用给定的模式(逐行)测试每一行 > 而不是简单地测试整个字符串的开头到结尾。
希望它会有所帮助。
于 2021-11-22T02:37:23.200 回答