Python正则表达式匹配坐标格式 校验(1,2)(2,3)类输入字符串求助
坐标对格式校验正则实现
核心实现
匹配由任意数量(a,b)格式坐标对拼接而成的字符串,默认适配坐标值为正整数的场景,可根据需求调整规则:
function checkFormat(str) { const formatReg = /^(\(\d+,\d+\))+$/ return formatReg.test(str) }
校验效果
- 合法输入
"(1,2)(2,3)(4,3)"校验返回true - 非法输入
"(1,2)a(3,4)"、"(1,c)"、"(1,2"校验均返回false
规则说明
^、$:分别锚定字符串的开头和结尾,避免首尾出现无关字符\(、\):转义匹配括号本身,括号属于正则特殊字符必须加反斜杠转义\d+:匹配至少1位数字,若需要支持负数、小数,可替换为-?\d+(\.\d+)?;若需要支持字母坐标,可替换为[a-zA-Z]++:表示前面的坐标对结构至少出现1次,若允许空字符串作为合法输入,可将+替换为*
扩展适配
如果允许坐标对之间存在空格、制表符等空白字符,可将正则调整为:/^(\(\d+,\d+\)\s*)+$/
内容的提问来源于stack exchange,提问作者Syed Ahmed Ali
相关产品推荐
相关产品推荐

