我需要一个正则表达式来检查一个字段是否为空或正好是13位数字?
问候,
弗朗西斯·P。
最佳答案
试试这个(see also on rubular.com):^(\d{13})?$
解释:
^
,$
是字符串 anchor \d
是数字的字符类{13}
是精确的有限重复?
为“零或一”,即可选的引用
关于空的定义
上面的模式匹配一个13位数字的字符串或一个空字符串,即长度为零的字符串。如果用“空”表示“空白”,即可能只包含空格字符,则可以使用
\s*
作为替代。简而言之,替代方式就是您如何匹配this|that
。 \s
是空白字符的字符类,*
是“零个或多个”重复。所以也许是这样的(see also on rubular.com):
^(\d{13}|\s*)?$
引用
相关问题
关于regex - 字段的正则表达式包含13位数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3092691/