正在研究 groovy 中以下 zip 格式的正则表达式
Includes a letter (L12345)
Includes a dash plus 4 more numbers (77056-1234)
Includes spaces (77056 1234)
我有这个 "^\d{5}(-\d{4})?\$" 但它与所需的格式不匹配。有人可以帮我吗?
^\d{5}(?:[-\s]\d{4})?$
^
= 字符串的开头。\d{5}
= 匹配 5 位数字(用于条件 1、2、3)(?:…)
= 分组[-\s]
= 匹配空格(用于条件 3)或连字符(用于条件 2)\d{4}
= 匹配 4 位数字(用于条件 2、3)…?
= 前面的模式是可选的(对于条件 1)$
= 字符串结束。这是来自以下问题,希望对您有所帮助
对于可选的起始字母使用
[A-Z]?
使字母可选。{1}
是多余的。(当然你也可以写[A-Z]{0,1}
which 意思相同,但这就是它的?
用途。)
我认为它应该追随^
但还没有机会测试