2015-11-04 95 views
0

我想查找以//開頭的所有評論實例,但我想排除所有類似http://的網址。正則表達式,不包括超模

如何使用正則表達式來做到這一點?

((?!http:)//).*\n // This does not work as URLs are still matched. 
+1

我想你可以使用'(?<!:)//.*'。你的正規口味是什麼? –

+0

@stribizhev是的,似乎工作。這是否定的後視? – Ben

+0

崇高的文字3 - 無論是什麼味道... – Ben

回答

1

(?!...)是負的樣子提前如果後面沒有);您需要後面的,如果沒有前面):(?<!...)

2

我想找到的意見所有實例開始//

爲什麼你就不能使用^//還是我失去了一些東西?您可以使用^\s+//來解決您可能遇到的任何空白。

好的。我明白你說什麼,但在這種情況下,你可以做這樣的:

(^|[^:]|\s+)(\/\/.*) 

在上面,你只要確保//:之前。儘可能簡單。另外請確保您替換包括第一組,以防止任何數據丟失。

像:$1replacement_term_here

Regex101

+0

因爲你的正則表達式無法匹配'function foo(){} //我的評論'我的原始問題可能不清楚 – Ben

+0

@BenAston檢查我的編輯出 –

+0

這個正則表達式也會匹配前面的字符(也就是':'或'\ s') 。也就是說,如果你用'foo(){} // bar'中的一個空字符串替換匹配,你會得到'foo(){':最後一個'}'也將被刪除。我相信一個更好的背後更適合OP的需求 – sp00m