2013-08-27 65 views
2

任何人都有一個很好的正則表達式匹配==!=但不是===也不是!==(我打算用它作爲一個簡單的JavaScript代碼檢查)?double的正則表達式等於

我試圖[^=]==[^=]但這未能在開始和字符串的結束。

+1

您使用什麼語言? –

+0

'(^ | [^ =])==([^ =] | $)' – user123444555621

+0

只是出於好奇:爲什麼''==有史以來發生在待檢查字符串的開始/結束? – user123444555621

回答

4

如果您正則表達式引擎完全支持lookaround assertions(如.NET),然後用

(?<![!=])[!=]=(?!=) 

如果不是(JavaScript的!),你需要在比賽前明確處理的字符:

(?:^|[^!=])([!=]=)(?!=) 
+0

應該在.NET 4中工作嗎?如果我嘗試在它在位置1(匹配「==」) – user826840

+0

@ user826840匹配「==!」哦,你說的對!現在它應該可以正常工作。 (它也拒絕'!! =',但我認爲沒關係,對吧?) –