我需要一个正则表达式来检查PHP中的法语邮政编码。
我有一个正则表达式:
/^(([\d]{2} )|(2[abAB] ))*(([\d]{2})|(2[abAB]))$/
捕获01到99或2a或2b
或
^[0-9]{5}$
捕获01000到99000
或
^(0[1-9]|[1-8]\d|9[0-5])\d{3}$
捕获01000到95999
实际上我需要这3个正则表达式的组合,
可捕获01至95,或01000至95000或971至978或984至989或2A或2a或2B或2b
任何想法?
非常感谢
答案 0 :(得分:2)
怎么样:
(?:0[1-9]|[13-8][0-9]|2[ab1-9]|9[0-5])(?:[0-9]{3})?|9[78][1-9](?:[0-9]{2})?
答案 1 :(得分:1)
根据您的规格,我认为:
^(?:(?:(?:0[1-9]|[1-8]\d|9[0-4])(?:\d{3})?)|97[1-8]|98[4-9]|2[abAB])$
将满足您的要求。你的正则表达式有范围和空格的问题。