2012-02-03 208 views
1

您好我正在嘗試寫一個正則表達式來匹配「{」字符,只有當它不在引號內時。正則表達式不匹配引號或轉義引號

然後我需要返回(替換行)與該字符右側的所有內容(如果有的話)。

同樣,我需要對「}」字符做同樣的處理,但返回左邊的所有內容。這些需要是單獨的正則表達式。

舉個例子:

if { something 

應該匹配,並返回 「something

if { " something 

應該匹配,並返回 「" something

" if { " something 

應該不匹配,而不是返回anythi ng

+0

你到目前爲止嘗試過什麼?谷歌展望未來,看起來很落後,它應該足夠簡單 – Standage 2012-02-03 16:31:15

+0

在標題中,你寫「不在引號或轉義引號」。這是什麼意思 - 應該將逃脫的引號視爲未轉義的引號,還是應該忽略它們?另外,是否可以在評論中引用引號(如果是這樣,哪種評論以及如何處理)? – 2012-02-03 16:40:06

回答

1

不幸的是,這並不是正則表達式的.Net實現可以在沒有遇到邊緣情況下執行的。您需要使用解析器才能正確執行。一個基本的狀態機模式,它沿着字符串迭代,並在碰到要查找的字符時翻轉狀態。

+0

我很害怕你會這麼說。好的謝謝 – user1187957 2012-02-03 19:38:23

相關問題