我需要正则表达式(点网)从逗号分隔的文本中提取地址行。
1。需要输入
中的确切地址2输入:地址1,地址2 ,地址3
输出: address2
我尝试了Regex.Match(strInput, @"^(?:[^,]*\,){1}([^,]*)").Value
,但它提供了address1,address2
2。需要地址2和地址2之后的任何内容
输入:地址1,地址2,地址3
输出:地址2,地址3
我尝试了Regex.Match(strInput, @"^(?:[^,]*\,){1}(.*)").Value
,但它提供了完整的输入文字
答案 0 :(得分:0)
在这种情况下,我只是简单地用昏迷来分割字符串。
但如果您只是喜欢正则表达式,那么您需要做的就是获得第一个匹配的子序列而不是整个匹配。 (即将.Value
替换为.Groups[1].Value
)
代码是
1。 Regex.Match(strInput, @"^(?:[^,]*\,){1}([^,]*)").Groups[1].Value
2。 Regex.Match(strInput, @"^(?:[^,]*\,){1}(.*)").Groups[1].Value