Я хорошо осмотрел сеть, чтобы найти ответ на этот вопрос, но не могу заставить его работать.
Я разработал следующее регулярное выражение:
(?<![^\d][\\])[\.](?![\d])
Цель состоит в том, чтобы идентифицировать любое «.» (точки), которые не были экранированы или являются частью десятичного числа.
т)
- abc.co.uk, обе точки должны совпадать
- ab0.co.uk, обе точки должны совпадать
- abc.0.uk, обе точки должны совпадать
- abc \ .co.uk, сопоставляется только вторая точка
- 0,00, точка НЕ должна совпадать
- abc0.0.uk, первая точка НЕ будет соответствовать (что является приемлемым результатом), вторая точка должна
На данный момент это работает для всех случаев выше, кроме:
- abc.0.uk, обе точки должны совпадать
Есть мысли? Похоже, что предварительный просмотр работает правильно, однако предварительный просмотр - нет.
Уверен, это будет легко для любого гуру Regex!
FYI. Я разрабатываю это в .net 4