首页 文章

正则表达式匹配可选的'+'符号后跟任意数字的数字

提问于
浏览
19

我想要一个正则表达式来匹配一个字符串,该字符串可能以或不以加号开头,然后包含任意数量的数字 .

那些应该匹配

+35423452354554
  or
  3423564564

4 回答

  • 9

    这应该工作

    \+?\d+
    

    匹配行开头的可选 + 和后面的数字

    编辑:

    截至OP的澄清要求:3423kk55是匹配的,因为它是第一部分(3423) . 要匹配整个字符串,请使用以下代码:

    ^\+?\d+$
    
  • 1

    它看起来像这样:

    \+?\d+
    

    \+ 表示文字加号, ? 表示前面的组(加号)可以出现0或1次, \d 表示数字字符,最后 + 要求前面的组(数字)出现一个或多个倍 .

    EDIT: 使用正则表达式时,请记住查找和匹配之间存在差异(至少在Java中,尽管大多数正则表达式实现都有类似的方法) . find会在拥有字符串中的某处找到子字符串,匹配将尝试将整个字符串与模式匹配,如果在之前或之后有额外字符,则会失败 . 确保你使用正确的方法,并记住你可以添加一个 ^ 来强制行的开头和 $ 来强制行的结束(使整个事情看起来像 ^\+?\d+$ .

  • 5

    简单 ^\+?\d+$

    开始行,然后是1或0加号,然后是至少1位数,然后是lnie的结尾

  • 31

    它的Perl正则表达式可能是: \+?\d+

相关问题