簡體   English   中英

RegEx刪除/ ** * /和// ** ** // php評論

[英]RegEx to remove /** */ and // ** **// php comments

ReGex新手在這里。

我需要使用RegEx從PHP文件中刪除兩個不同的樣式注釋。

我發現這個表達式在BBEdit文本編輯器中運行:

\\/\\*[\\s\\S]*?\\*\\/

它會刪除第一種風格的評論,如下所示:

/** This comment gets removed with my regex */

但它沒有刪除這些風格的評論:

// ** This comment has the double leadng-trailng slashes ** //

我不知道為什么混合了兩種不同類型的注釋,並且只有少數//注釋,但我需要將它們全部刪除。

在搜索中添加另一個斜杠,即

\\/\\\\*[\\s\\S]*?\\*\\/

使表達式貪婪,並刪除未注釋的代碼中的單斜杠。 一個工作表達式需要明顯更復雜:)

PHP有一個內置函數:

php_strip_whitespace($filename);

你可以使用這個正則表達式:

\/\*.*?\*\/|\/\/.*?\n

工作演示

在此輸入圖像描述

正如Hwnd在這個答案中指出的那樣,如果你將分隔符更改為~你可以使用清理的正則表達式:

/\*.*?\*/|//.*?\n
~//?\s*\*[\s\S]*?\*\s*//?~

這是有效的。只是為你的答案添加了另一個\\和太空食客。

見演示。

http://regex101.com/r/lK9zP6/6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM