2010-12-14 122 views
0

我學習了正則表達式,並且我有兩個quastion;C#中的正則表達式選項和Visual Studio中的正則表達式

  1. 我看見了,我可以定義一個選項,以正則表達式,但我不更迭瞭解whah是ECMAScript的,CultureInvariant和ExplicitCapture選擇,任何人都可以解釋簡單的單詞和舉一個例子來上述選項?
  2. 在visual studio中,可以通過regex來找回和查找,但是正則表達式對象使用的語法中的vs differents的語法,有沒有人知道爲什麼?

回答

3

ExplicitCapture使所有圓括號不被捕獲,除非您使用命名捕獲。這可以使正則表達式更具可讀性,因爲您可以編寫(...),否則,您必須編寫(?:...)來創建非捕獲組。

的缺點,當然,如果你想捕捉的比賽的一部分,你必須寫Name: (?<name>.*)而不是Name: (.*),例如。

ECMAScript導致正則表達式引擎的行爲與ECMASCript(例如JavaScript)正則表達式引擎類似,這意味着會刪除.NET正則表達式引擎的很多正則表達式特徵 - 但它允許您不改變地使用JavaScript正則表達式。

CultureInvariant告訴正則表達式引擎在案例匹配時忽略文化差異。例如,在土耳其語中,i的大寫版本不是I,因爲它是英文版的,但是İ,因此在土耳其語系統上對文化敏感的不區分大小寫的i匹配不匹配I

您可能想查看this linkthis link瞭解更多信息。

相關問題