簡體   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