我想创建一个验证以下条件的正则表达式:
这是我到目前为止的正则表达式:
^[0-9]+( [0-9]+)*$
基本上我得到条件(1)和(2)所以我真的需要帮助(3)。谢谢你的时间。
答案 0 :(得分:14)
一块蛋糕。
^\d( ?\d){15,18}$
唯一值得注意的是,{15,18}
需要少一个 - 第一个\d
已经吃了一个数字。
答案 1 :(得分:0)
我认为以下应该可以解决问题:
^[0-9]( ?[0-9]){15}( ?[0-9])?( ?[0-9])?( ?[0-9])?$
我不知道你正在使用什么正则表达式引擎。如果它不支持{15}那么你 必须在15次之前重复表达 - 这不是很好,所以如果可能的话 你应该使用一个支持它的引擎。
大多数unix实用程序(如sed,grep等)都有(非标准化)开关 扩展正则表达式支持或备用可执行文件(如egrep)。