Regex: взгляд вперед и назад, проверка a. (точка) для использования в качестве десятичной точки и точки

У меня был Хорошенько поищите в сети ответ на этот вопрос, но, похоже, он не работает.

Я разработал следующее регулярное выражение:

    (?<![^\d][\\])[\.](?![\d])

Цель состоит в том, чтобы идентифицировать любой "." (точки), которые не были экранированы или являются частью десятичного числа.

т.е.)

  • abc.co.uk, обе точки должны соответствовать
  • ab0.co.uk, обе точки должны соответствовать
  • abc.0.uk, обе точки должны соответствовать
  • abc \. co.uk, только вторая точка соответствует
  • 0.00, точка НЕ ​​должна совпадать с
  • abc0.0.uk, первая точка НЕ ​​будет совпадать (что является приемлемым результатом), вторая точка должна

В данный момент работает для всех вышеперечисленных случаев, кроме:

  • abc.0.uk, обе точки должны совпадать

Есть мысли? Кажется, что упреждающий просмотр работает правильно, но упреждающий - нет.

Я уверен, что это будет несложно для любого гуру Regex!

К вашему сведению. Я разрабатываю это в .net 4

6
задан killercowuk 10 November 2011 в 12:36
поделиться