Я полный новичок в reg ex и мне было поручено обновить наши валидаторы регулярных выражений. В настоящее время они проверяют, что lat и longs реальны, но теперь нам нужно убедиться, что они находятся в определенном окне. Поскольку пользователь может ввести его или выбрать из карты, мы получим их в разных стилях (минуты/градусы, а также десятичные числа), которые нам нужно учитывать.Regex Validating Lat & long
Желаемая validation--
LAT 50 через 72 & LONG: -130 -180 через ИЛИ 172 через 180)
Текущий RegEx--
LAT:
"^(-?((90((\.0{1,15})|(\:00\:00))?)|(([0-8]?\d)((\.\d{1,15})|((\:[0-5]\d){2}))?)))$"
LONG: "^(-?((180((\.0{1,15})|(\:00\:00))?)|(((\d{1,2})|(1[0-7]\d))((\.\d{1,15})|((\:[0-5]\d){2}))?)))$"
я сделал попробуйте Google, и он играл с этим
^[+]?([1-8]?\d(\.\d+)?|50(\.0+)?),\s*[+]?(72(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$
но у меня возникают проблемы, даже не читая его, так что я не могу сказать, как обновить его:
Типичные входы: Широта может быть либо 52,5 ИЛИ 52:30:00
Это * не очень хороший подход. Просто используйте стандартные числовые регулярные выражения, а затем проанализируйте захваченные строки как числа и проверьте, находятся ли они в допустимом диапазоне.Использование регулярного выражения для этого излишне сложно. –
Можете ли вы показать нам ввод? –
Возможно, возникли проблемы ... – user3791372