2012-07-20 51 views
3

我想在兩個使用CSharp中的正則表達式的關鍵詞之間獲取文本。 儘管我已經找到了一個標題相同的主題,但其中一個主題是在方括號中查找文本,這很容易,因爲您可以使用\[(?<blah>[^\]]+?)\]來執行此操作。使用正則表達式在兩個詞之間捕獲文本

我想要做的是在UnMatched text 123./!team中找到單詞Matched text 123./!。所以我的分隔符是Unteam。如果我以我習慣的方式構建RegEx,則需要再次執行三個部分:起始分隔符爲Un,末尾分隔符爲team,組爲(?<blah>...+?),它表示「除字符串外的任何內容team「。但我不知道如何用正則表達式來表示這個

有沒有辦法說「不是這個字符串」而不是「不是那些字符之一」? 另外,因爲我不知道正則表達式的實現之間的區別:我使用.NET Framework的System.Text.RegularExpressions.RegEx來解析它們,所以當然這個示例應該與這個實現一起工作。

回答

8

你可以使用這個語法

(?s)(?<=start_delim).+?(?=end_delim) 

只需更換start_delimend_delim要求。有關這方面的更多信息,請訪問here

+2

一個更易於閱讀的模式應該是'Un(。+)team'。然後想要的部分在Matches [0] .Groups [0] .Value中(如果存在)。 – 2012-07-20 08:09:29

相關問題