JS正则与注释的冲突

摘要:最近在写一款前端组件的时候,无意发现正则与注释之间的一点冲突,现分享下。猜测应该是正则没有使用引号,导致JS解析时将正则里边的*/做为了注释的结尾。

最近在写一款前端组件的时候,无意发现正则与注释之间的一点冲突,现分享下。

下边是一段仅有正则表达式的代码:

str = ‘hello js fan‘;
console.log(str.match(/s.*/));


运行结果如下图:


下边我加上注释:

/*this is a test
str = ‘hello js fan‘;
console.log(str.match(/s.*/));
*/


表面看这段代码很正常,但运行后呢?

这是运行后的结果

显示第3句后边不应该接‘)‘。

猜测应该是正则没有使用引号,导致JS解析时将正则里边的"*/"做为了注释的结尾。

大家在使用正则时注意这块,小心掉入陷阱!

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_6845