【问题标题】:Why is Regex VB.Net Dropping "-" When Getting Matches?为什么 Regex VB.Net 在获取匹配项时会丢弃“-”?
【发布时间】:2010-01-07 16:44:03
【问题描述】:

尝试解析并返回以下 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

使用下面的这个正则表达式我得到了匹配,但在每个分组的前面去掉了前导“-”。不过,我在组的中间得到了“-”。这是我目前使用的表达方式。

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

[弧线]

【问题讨论】:

  • 你的样品好像坏了;但是如何将这些数字匹配为(-?\d+\.\d+)

标签: .net vb.net regex


【解决方案1】:
如果第一个字符是破折号 (-),

\b 将不会在输入的开头匹配

【讨论】:

  • 很高兴能帮上忙!告诉你所有的朋友,所以在 6 分钟内给了我答案! :)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    相关资源
    最近更新 更多