我不会对正则表达式感兴趣,做了相当多的谷歌搜索,但由于某种原因似乎在努力解决这个问题。基本上我有一个字符串:
VALUE1,VALUE2,VALUE3,VALUE4
现在所有想要的都是一个正则表达式,我可以说给我价值2或给我价值3等。
我原本以为我可以做这样的事情来获得第二个值
,.*,,
这是最后的等等
,,,.*
必须有一个简单的解决方案...还应该添加这一点必须通过正则表达式完成!
答案 0 :(得分:3)
我认为你需要的是逗号分隔符上的正则表达式分割:
Dim input As String = "VALUE1,VALUE2,VALUE3,VALUE4"
Dim terms() As String = Regex.Split(input, ",\s*")
For Each term As String In terms
Console.WriteLine(term)
Next
请注意,我在,\s*
上拆分,以防每个逗号后面都有一些空格。
我们可以尝试为您提供一个原始正则表达式,它可以在给定位置提取一个术语,但即使这样也需要知道您正在使用哪个工具,以了解如何访问捕获组。由于您使用的是VB.net,因此使用正则表达式拆分字符串可能就好了。
修改强>
根据评论,或许以下的正则表达式是您正在寻找的:
^(?:.*?,){3}(.*?)(?=,|$).*$