代码之家  ›  专栏  ›  技术社区  ›  Martin Cooke

获取逗号分隔字符串之间的值的正则表达式

  •  0
  • Martin Cooke  · 技术社区  · 6 年前

    VALUE1,VALUE2,VALUE3,VALUE4
    

    现在只需要一个regex,我可以说给我值2或给我值3等等。

    我想我可以做这样的事情得到第二个值

    ,.*,,
    

    这是最后一次

    ,,,.*
    

    必须有一个简单的解决方案…应该也添加这必须通过正则表达式!

    1 回复  |  直到 6 年前
        1
  •  3
  •   Tim Biegeleisen    6 年前

    我想你只需要在逗号分隔符上加一个正则表达式:

    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
    

    Demo

    注意,我分开了 ,\s* ,以防每个逗号后面可能有空格。

    我们 能够 试着给你一个原始的正则表达式,它可以在一个给定的位置提取一个术语,但即使这样也需要知道你在使用哪个工具,知道如何访问一个捕获组。因为您使用的是vb.net,所以使用regex拆分字符串可能是一种方法。

    编辑:

    从注释中可以看出,下面的regex模式正是您要寻找的:

    ^(?:.*?,){3}(.*?)(?=,|$).*$
    

    Demo