我对正则表达式非常陌生,我需要从之间包含的字符串中获取特定值 ' '
使用正则表达式能够获取值,但是'在两者之间有三分之一时会获得异常 ' '。
可变规则包含整个字符串
IEnumerable<string> possibleValues = Regex
.Matches(rule, @"'(?<val>.*?)'")
.Cast<System.Text.RegularExpressions.Match>()
.Select(match => match.Groups["val"].Value)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
传递以下字符串时
规则:“街道地址”
必须为“班德拉(西)班德圣安德鲁路4楼萨米尔综合楼”(默认值)
期望的值是班德拉(西)圣安德鲁路4楼的Street Address和 Samir Complex。
但是在圣安德鲁4楼获得街道地址和 Samir Complex
匹配撇号时,您不希望每个都匹配:在您的情况下',Andrew's应跳过。您可以尝试检查单词边界;请参阅正则表达式中\ b和\ B之间的区别的详细信息
@"'(?<val>.*?)'\B"
Run Code Online (Sandbox Code Playgroud)
码:
string[] possibleValues = Regex
.Matches(rule, @"'(?<val>.*?)'\B")
.Cast<Match>()
.Select(match => match.Groups["val"].Value)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |