regex - 字段的正则表达式包含13位数字?

标签 regex

我需要一个正则表达式来检查一个字段是否为空或正好是13位数字?

问候,
弗朗西斯·P。

最佳答案

试试这个(see also on rubular.com):
^(\d{13})?$
解释:

  • ^$是字符串 anchor
  • 的开始和结束
  • \d是数字的字符类
  • {13}是精确的有限重复
  • ?为“零或一”,即可选的

  • 引用
  • regular-expressions.info/AnchorsCharacter ClassesRepetitionOptional


  • 关于空的定义

    上面的模式匹配一​​个13位数字的字符串或一个空字符串,即长度为零的字符串。如果用“空”表示“空白”,即可能只包含空格字符,则可以使用\s*作为替代。简而言之,替代方式就是您如何匹配this|that\s是空白字符的字符类,*是“零个或多个”重复。

    所以也许是这样的(see also on rubular.com):
    ^(\d{13}|\s*)?$
    引用
  • regular-expressions.info/Alternation

  • 相关问题
  • regex, check if a line is blank or not
  • 关于regex - 字段的正则表达式包含13位数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3092691/

    相关文章:

    Java从字符串中提取部分的最佳方法

    regex - 用正则表达式交换字母

    javascript - 如何将包含日语字符的字符串有条件地放入Javascript中的单独数组中

    python - 正则表达式替换文本之前和之后,保持文本就位

    regex - 保留 URL 的第一部分并屏蔽其他所有内容

    python - 在python中通过正则表达式提取多种日期格式

    regex - 在sed中使用反向引用正则表达式

    javascript - 使用正则表达式从 HTML 标签属性获取字符串 - JavaScript

    javascript - 如何使用 javascript 检查字符串是否包含有效的 vimeo url?

    java - 需要帮助来解析目录的正则表达式