2010-09-06 55 views
1

我想捕捉下面的字符串中使用c#正則表達式的引號中的文本。C#正則表達式,匹配字符串的內容

我已經嘗試了一大堆的模式,但他們都不匹配..

誰能幫助?

text1.text2 = text3["THISISWHATIWANTTOCAPTURE"].text4(); 
+0

注:我不在乎,如果引號是匹配與否的一部分。 – Grant 2010-09-06 02:07:20

+0

已經嘗試了這麼多,這是最後一個...正則表達式正則表達式=新正則表達式(「。* \」(。*)\「。*」); – Grant 2010-09-06 02:08:47

+0

他們被稱爲「雙引號」。 – 2010-09-06 02:14:20

回答

0

我會拿出最簡單的表達是

[a-zA-Z0-9]+\["(.+)"\] 
0

嘗試:

Match match = Regex.Match(string, @"\"([^\"]+)\""); 
2

這人會做到這一點:

(?<=\").*(?=\") 

您可以測試以上正則表達式在這裏:

http://regexhero.net/tester/

在C#:

class Program 
{ 
    static void Main(string[] args) 
    { 
     string pattern = "(?<=\").*(?=\")"; 
     string str = 
     "text1.text2 = text3[\"THISISWHATIWANTTOCAPTURE\"].text4();"; 

     Match match = Regex.Match(str, pattern); 

     foreach (var c in match.Captures) 
     { 
      Console.WriteLine(c); 
     } 
    } 
} 

輸出:

THISISWHATIWANTTOCAPTURE 
+0

有多個捕獲的組。 OP希望只捕獲「THISISWHATIWANTTOCAPTURE」 – 2010-09-06 02:20:05

+0

邁克爾,沒有更多的捕獲組... – 2010-09-06 03:16:40

相關問題