繁体   English   中英

注释掉正则表达式,javascript

[英]Commenting out regex, javascript

抱歉,如果这已经被覆盖 - 也许我正在寻找错误的东西。

以下注释掉的行会产生语法错误:

/* /[foo].*/ */

正则表达式中的 '*/' 似乎与评论的结尾混淆了。

有没有办法安全地注释掉包含正则表达式的代码块?

这个主题出现在许多编程语言中。

我用特殊字符标记看起来像评论结尾的地方,以便以后可以轻松找到它们以撤消评论。 首先它看起来像这样:

 /* comment start here var emailBlabla = someString.replace(/^\s*/, '').replace(/\s*$/, ''); comment ends here */

然后:

 /* comment start here var emailBlabla = someString.replace(/^\sx*x/x, '').replace(/\s*$/, ''); // <<< note x*x/x comment ends here */

现在,每当我想取消注释时,我只需查找序列 x*x/x。

请注意,这不适用于标签,例如上下文 Fluid/TYPO3:

 <f:comment>

如果你想“停用”这个标签而不删除它,这将不起作用:

 x<fx:xcomment>

因为解析器仍然看到一个带有命名空间的标签,而命名空间只是更改为 fx。 在标签的上下文中,你必须打破空间。

 x < fx: xcomment>

但即便如此,您也有一个明确标记的情况,您可以在其中使用查找/替换。

这是一个错误,因为您不能在注释中包含*/ ,否则它会终止注释,然后最后一个*/会自行出错。 只需添加一个空格:

 /* /[foo].* / */

或注释掉整行:

 // /[foo].*/

如果您拥有 string 并以编程方式添加注释块,则只需将所有*/替换为* /

 var final = '/*' + code.replace(/\*\//g, '* /') + '*/';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM