代码之家  ›  专栏  ›  技术社区  ›  bristows

VB.NET正则表达式

  •  1
  • bristows  · 技术社区  · 14 年前

    我想要一个以下格式的字符串

    “FAG001 FAG002 FAG003”

    想把它分成

    “FAG01” “FAG02” “FAG00 3”

    使用正则表达式。不幸的是,我对正则表达式synatax的了解是有限的,至少可以这么说。我试过像

    Dim result = Regex.Split(npcCodes, "([A-Z]3[0-9]3)").ToList
    

    没有运气

    3 回复  |  直到 14 年前
        1
  •  4
  •   Julien Hoarau    14 年前

    这里不需要regex,你可以用 String.Split

    Dim result As String() = npcCodes.Split(new Char[]{" "})
    

    但如果您真的想使用regex:

    Dim result = Regex.Split(npcCodes, " ").ToList()
    
        2
  •  2
  •   Community CDub    8 年前

    AS madgnome 已经指出,如果字符串总是用空格分隔的话,这里不需要正则表达式。

    但是,为了您的信息,您所犯的错误是您需要大括号来表示数字 quantifiers :

    [A-Z]{3}
    

    而不是regex.split,您可以使用 Regex.Matches .

        3
  •  0
  •   Guffa    14 年前

    要在中使用的正则表达式 Split 方法非常简单:

    Dim result = Regex.Split(npcCodes, " ").ToList
    

    因为表达式只匹配一个字符,所以也可以使用正则 分裂 方法在 String 班级:

    Dim result = npcCodes.Split(" "C).ToList