下面的正则表达式:
re1=/abc$def/m;
re1.test("abc$def");//显然是false
re1.test("abc\ndef");//仍然是false
re2=/abc^def/m;
re3=/abc$^def/m;
re4=/^abc$^def$/m;
这样的正则表达式是什么意思?
在正则表达式中出现多次$
和^
有作用吗?
如果没有作用为什么也不报错???
下面的正则表达式:
re1=/abc$def/m;
re1.test("abc$def");//显然是false
re1.test("abc\ndef");//仍然是false
re2=/abc^def/m;
re3=/abc$^def/m;
re4=/^abc$^def$/m;
这样的正则表达式是什么意思?
在正则表达式中出现多次$
和^
有作用吗?
如果没有作用为什么也不报错???
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答842 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
@wangsquirrel 的答案可能有一些疏漏的地方:摘自:MDN 的 Regular_Expressions:
^与$是特殊字符,如果没有加backslash转义的话,那么他们一定是表示特殊意思的,所以如果你要匹配这个字符本身,请加上转义符:
题主给的例子无法匹配的根本原因是^与$是去匹配一行的开头和结尾,而不是匹配换行符,所以其实是你的正则本身就匹配不上,而不是出错了。
这是我的一点理解,欢迎探讨交流。