这个问题是关于蒸腾器或蒸腾器扩展的。
RegExp()
对象创建是
massively slower and constructs the RegExp on each iteration
.
似乎javascript不允许在其regex中使用不敏感的空白。JavaScript是否有允许类似
/x
来自Perl,在regex中。
X
和
/xx
单个“/x”告诉正则表达式分析器
忽略大多数
既不是反斜杠也不在带括号字符内的空白
班级。
您可以使用它将正则表达式分解为更多
可读部分。此外,“”字符被视为元字符
引入运行到模式结束分隔符的注释,或者
如果图案延伸到下一行,则到达当前行的结尾。
因此,这非常类似于普通的Perl代码注释。(你可以
只有在注释之前才在注释中包含结束分隔符
用反斜杠,所以要小心!)
这可以让你写一些像
let res = name.match(/^([^\d]*?)(?:\s*[.,]\s*([0-9]+)(?: mo)?)?[.,]?$/);
这样地,
let res = name.match(/
^
([^\d]*?) # name
(?:\s*[.,]\s*([0-9]+)(?: mo)?)? # age, mo
[.,]? # trailing dirt
$
/);