2012-12-08 35 views
3

我有以下表達式:[^(\r\n)]*可識別任何不包含\r\n的文本。 但是,如果文字包含(),則無法識別。當文本包含括號時(可能還有其他特殊字符)時出現問題

例子:

  1. "I have following expression to recognize any text."將被識別確定。
  2. "I have following expression (A) to recognize any text."將不被識別。

我想作爲一個結果的完整文本:"I have following expression (A) to recognize any text."

回答

0

使用Regex.Escape運行正則表達式之前處理輸入。此方法專門用於在正則表達式中「僞造」任何具有特殊含義的字符,以便輸入始終轉換爲與文本字符串匹配的內容。

1

取出()。在你的角色類[]內,它們是字面的,不被視爲元字符。

你可以使用一個positive look-ahead,爲\r\n並捕獲休息以及使用:

(.*)(?=\r\n) 
相關問題