我有一个非常复杂的JavaScript替换正则表达式函数,我想知道有没有办法在多行上格式化正则表达式代码:
/ ( ([0-9]{1,2}) (\/|\.) ([0-9]{1,2}) (\/|\.) ([0-9]{2,4})\s )? ([0-9]{1,2}) : ([0-9]{1,2}) ( (:|\s) ([0-9]{1,2}) )? /ig
此外,我想询问是否有其他方法可以格式化正则表达式,因此更容易阅读。
答案 0 :(得分:2)
JavaScript不支持/x
标志(允许空格和注释),但您可以使用字符串将表达式拆分为多行。例如:
var re = new RegExp(
"foo" +
"bar" +
"baz",
"ig");
当然,这样做的缺点是正则字符串引用正则表达式(双重转义)。
您也可以将XRegExp与(?x)
标志一起使用,但仍然受到常规JS字符串引用的限制。
答案 1 :(得分:0)
myPatter = new RegEx(
'([0-9]{1,2})' +
'.... next line' +
'... anotherline'
);