我想寫過濾掉註釋(#)符號後/刪除一切選擇,但在下面的例子所以忽略#符號的字符串中(「」或「」)Perl的正則表達式:我如何結合這2個正則表達式?
只有最後一行會被過濾/刪除
"#dummy comment" asd asd
' abC# dummy comment'
abC#real comment
這是兩個正則表達式選擇我想出迄今(我會添加了S /標籤以後):
/('|").*#.*('|")/g --> selects fake commnts
/#(?!!).+/g ---> highlights all comments, including above ones (?!! is to ignore #!/usr/bin/env perl)
我目前正在努力進入這兩點意見可以達到上述結果噸。我曾嘗試使用正向和反向查找,但似乎無法得到這個權利。任何建議都將不勝感激。
如果你希望編寫一個能夠從Perl代碼中刪除註釋的程序,那麼我認爲你正在浪費你的時間。你必須考慮諸如'$ string =〜s#//#/#g'和'爲我的$ i(0 .. $#array){...}'之類的東西,可能還有其他幾個人 – Borodin
如果你希望編寫一個將從Perl代碼中刪除註釋的程序,該程序已被寫入。使用['PPI'](http://metacpan.org/pod/PPI)。 – mob
不知道爲什麼它被擱置,問題主要是關於加入2個陳述,而不僅僅是刪除評論。 – L457