You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

纬度正则表达式匹配优化:前导零规则与范围校验问题

解决纬度正则匹配的前导零与度数校验问题

最终正则表达式(包含90°合法场景)

^(N|n|s|S)(?:(0?\d|[1-8]\d)°([0-5]\d)'([0-5]\d)(?:\.(\d{1,2}))?''|90°00'00(?:\.00)?'')$

简化版(仅支持0°-89°,符合你接受的最大值限制)

^(N|n|s|S)(0?\d|[1-8]\d)°([0-5]\d)'([0-5]\d)(?:\.(\d{1,2}))?''$

关键调整说明

1. 解决前导零问题

度数部分(0?\d|[1-8]\d)严格限制了合法格式:

  • 0-9°:允许写成1位(如2)或带单个前导零的2位(如02),自动拒绝多前导零(如002)
  • 10-89°:必须写成无前置零的2位数字(如22),自动拦截带前导零的两位数(如052)

2. 处理90°的特殊校验(完整版包含)

通过分支90°00'00(?:\.00)?''单独限制:

  • 仅当度数为90时,分数和秒数必须为00,秒数可选带.00的小数部分
  • 直接拒绝N90°01'00''这类非法格式

3. 分秒的合法性校验

  • 分数部分([0-5]\d):确保范围在00-59之间
  • 秒数部分([0-5]\d)(?:\.(\d{1,2}))?:整数部分限制00-59,可选1-2位小数(支持00.0到59.99的格式)

测试验证

  • 合法匹配:N2°55'12.33''、N02°55'12.33''、N22°55'12.33''、N90°00'00''
  • 非法拦截:N002°55'12.33''(多前导零)、N052°55'12.33''(两位数带前导零)、N90°01'00''(90°但分秒非零)

内容的提问来源于stack exchange,提问作者Jepessen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:15:05