这是我的 js 正则表达式测试。
'AAa\nbBB'.match(/AA[.\n]+BB/);//failed match
我认为[.\n]+
可以匹配任何字符。我错了吗?
最佳答案
该点与 character class 内的文字点匹配.
使用 'AAa\nbBB'.match(/AA[\s\S]*BB/);
代替。
在大多数正则表达式风格中,您可以设置 /s
标志以允许点匹配换行符(对于像 /AA.*BB/s
这样的正则表达式)。但在 JavaScript 中,该功能不可用,因此您需要使用 [\s\S]
来匹配任何字符。
关于javascript - 为什么 [.\n]+ 不匹配字符串 'a\nb' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17510226/