2013-03-04 124 views
0

尋找reg表達式以在.NET環境中返回匹配。正則表達式來查找兩個字符串之間的匹配

在這樣的字符串...

Parameters!param_id.Value && Parameters!abc.Value 

我在尋找參數之間的匹配字XYZ!值。

因此,從上面的字符串示例中,它將返回「param_id」和「abc」。

我想...

(?<=Parameters!)(.*)(?=\.Value) 

但它返回第一個字符串開頭和結尾最後串之間的一個匹配。

(?<=Parameters!)(.*?)(?=\.Value) 

只返回第一個匹配詞。

任何幫助,非常感謝!

一些代碼來得到它去......

Dim reg As Regex = New Regex("(?<=Parameters!)(.*)(?=\.Value)", RegexOptions.IgnoreCase) 
Dim col As MatchCollection = reg.Matches("Parameters!param_id.Value && Parameters!abc.Value") 
For Each m As Match In col 
    Debug.WriteLine(m) 
Next 
+2

請發表你的代碼,你的第二個表現是正確的,你只需要找到所有的比賽(和究竟如何做到這一點取決於語言)。 – 2013-03-04 23:14:34

+0

可能要使用'\ w *'而不是'。*' – zzzzBov 2013-03-04 23:14:44

+0

感謝所有。 zzzzBov的回答很好。 – sdog 2013-03-05 14:58:04

回答

0

我只是想嘗試:

Parameters\!(.*?)\.Value 
0

由於功能要求mark a comment as an answer繼續下降,我在這裏複製上面的解決方案。

Dim reg As Regex = New Regex("(?<=Parameters!)(\w*)(?=\.Value)", RegexOptions.IgnoreCase) 
Dim col As MatchCollection = reg.Matches("Parameters!param_id.Value && Parameters!abc.Value") 
For Each m As Match In col 
    Debug.WriteLine(m) 
Next 

- SDOG

相關問題