Срок действия регулярного выражения для степени - PullRequest
1 голос
/ 06 июля 2010

У меня есть назначение, где я должен проверить правильность строки, где:

  • N90 -> Север и должен иметь ключевой градус от 0 до 90
  • W180 -> иметь степень от 91 до 180
  • S270 -> иметь степень между 181-270
  • E360 -> иметь степень между 271-360

как я могу создать reg ex, как это.

Ответы [ 2 ]

2 голосов
/ 06 июля 2010

Regex на самом деле не понимает числовые диапазоны и должен сопоставлять эти числа как последовательности цифр, так что это не лучший инструмент для работы.Тем не менее, это можно сделать, но оно будет ужасным

N90 -> Север и должно иметь ключевую степень от 0-90

N([0-9]|[1-8][0-9]|90)

W180 -> иметь степень от 91 до 180

W(9[1-9]|1[0-7][0-9]|180)

S270-> иметь степень в диапазоне 181-270

S(18[1-9]|19[0-9]|2[0-6][0-9]|270)

E360 -> иметь степень в диапазоне 271-360

E(27[1-9]|2[8-9][0-9]|3[0-5][0-9]|360)

Ссылки

Смежные вопросы

2 голосов
/ 06 июля 2010

Не используйте регулярные выражения.Это классический пример проблемы, для которой не подходят регулярные выражения.Просто разбейте строку на направление (первый символ) и число и убедитесь, что число соответствует требуемым условиям для направления.

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