在Javascript中,我想匹配一个类似于:
的字符串模式\left((some expression here to be matched)\right)
这比这复杂一点,所以我必须使用RegExp构造函数来定义我的模式。简化版本是:
var pattern_string = '\\left\\((' + EXPRESSIONpattern + ')\\\\right\\)' ;
var pattern_regexp = new RegExp(pattern_string, 'g');
我意识到\r
是字符串中的回车符,因此在r
之前的pattern_string中有四个反斜杠。在实现之后,我能够让它工作的唯一方法是将\l
视为特殊字符串字符并使用:
var pattern_string = '\\\\left\\((' + EXPRESSIONpattern + '\\\\right\\)' ;
var pattern_regexp = new RegExp(pattern_string, 'g');
为什么我需要双倍逃避l
?我找不到一个引用,说\l
是一个特殊的字符串序列。 \l
在字符串中的含义是什么?有人可以指向我的参考,其中包含需要在字符串中双重转义的所有字符吗?这将有助于调试,以确定何时需要双重逃避。
先谢谢你的帮助, Ť