请,我需要使用regex
验证伊朗邮政编码。
我为这个案例\b([^02\n\D]){4}[^5](\d){5}
编写了这个正则表达式,但它不适用于规则5和7。
请帮我解决。
这是关于这个正则表达式的一些规则:
全部数字
10位数
不要在前5位数中使用0
请勿在邮政编码中使用2
前4位数不一样
第5位数不能为5
所有数字都不相同
答案 0 :(得分:7)
以下正则表达式满足您的条件:
\b(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}\b
<强>解释强>
\b
- 字边界(?!(\d)\1{3})
- 负面预测,以确保前4位数字不相同。[13-9]{4}
- 匹配除0
和2
[1346-9]
- 匹配不是0
,2
或5
[013-9]{5}
- 匹配除2
\b
- 字边界