正则表达式查找两个字符串之间的匹配

时间:2013-03-04 23:12:12

标签: regex

寻找reg表达式以在.NET环境中返回匹配。

在这样的字符串中......

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

我正在寻找参数之间匹配的单词xyz!和.Value

所以从上面的字符串示例中,它将返回“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 个答案:

答案 0 :(得分:0)

我会尝试:

Parameters\!(.*?)\.Value

答案 1 :(得分: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