【发布时间】:2019-08-15 09:07:41
【问题描述】:
我对正则表达式很陌生,我需要从 ' ' 之间包含的字符串中获取特定值
使用正则表达式能够获取值,但在' ' 之间存在第三个' 时会出现异常。
变量规则包含整个字符串
IEnumerable<string> possibleValues = Regex
.Matches(rule, @"'(?<val>.*?)'")
.Cast<System.Text.RegularExpressions.Match>()
.Select(match => match.Groups["val"].Value)
.ToArray();
当下面的字符串被传递时
规则:“街道地址”
一定是
'Samir Complex, 4th Floor, St Andrew's Road, Bandra (West)'(默认值)
预期值为街道地址和Samir Complex, 4th Floor, St Andrew's Road, Bandra (West)
但获得街道地址和Samir Complex, 4th Floor, St Andrew
【问题讨论】:
-
您在
Andrew's中有一个撇号',并且您尽可能很少 匹配 -.*?,这就是为什么正则表达式在找到的第一个撇号处停止跨度> -
试试
@"'(?<val>.*?)'\B"模式 -
是的,谢谢这个作品你能把它放在答案中,这样我就可以接受这个