为什么Regex VB.Net会在获得匹配时“ - ”掉线?

时间:2010-01-07 16:44:04

标签: .net vb.net regex

尝试解析此问题并返回以下3项:

  1. -30.25 31.46 -27.46 31.74
  2. -24.57 32.03 -16.86 32.88
  3. -13.82 33.19 -9.69 33.62
  4. 使用下面的正则表达式我得到匹配,但是在每个分组的前面删除前导“ - ”。我在团队中间得到了“ - ”。这是我目前使用的表达方式。

    Dim regex As New System.Text.RegularExpressions.Regex("\b\-{0,1}\d{1,2}\.{0,1}\d{0,2}\s{1}\-{0,1}\d{1,2}\.{0,1}\d{0,2}\s{1}\-{0,1}\d{1,2}\.{0,1}\d{0,2}\s{1}\-{0,1}\d{1,2}\.{0,1}\d{0,2}\b", RegexOptions.Singleline)
    

    谢谢!

    这是源文本: [机场]

    [航空]

    -30.25 31.46 -27.46 31.74

    -24.57 32.03 -16.86 32.88

    -13.82 33.19 -9.69 33.62

    [弧]

2 个答案:

答案 0 :(得分:2)

如果第一个字符是短划线( - )

\ b将在输入开头不匹配

答案 1 :(得分:0)

如果我正确理解了您的样本,请尝试使用此代码:(-?\d+\.\d+ ?){4}