Почему Regex VB.Net Dropping "-" При получении совпадений? - PullRequest
0 голосов
/ 07 января 2010

Попытка разобрать это и вернуть следующие 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)

Спасибо!

Вот исходный текст: [Аэропорты]

[Airways]

-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 ]

2 голосов
/ 07 января 2010

\ b не будет совпадать в начале ввода, если первый символ - тире (-)

0 голосов
/ 07 января 2010

Если я правильно понял ваш образец, попробуйте использовать это: (-?\d+\.\d+ ?){4}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...