我需要一个正则表达式进行字符串验证.字符串可以为空,可以有5位数,也可以有9位数.其他情况无效.我正在使用下一个正则表达式:
/\d{5}|\d{9}/
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
Gum*_*mbo 17
正如Marc B在评论中所说,我会使用这个正则表达式:
/^(\d{5}(\d{4})?)?$/
Run Code Online (Sandbox Code Playgroud)
这恰好匹配五个数字,可能后跟另外四个数字(因此总共九个数字)或根本没有字符(注意?数字表达式周围的量词使组成为可选).
与其他提到的具有替换的模式相反,该模式的优点在于,如果匹配的五个数字失败,则不需要回溯.