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

Kas*_*ail 22 regex

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

那些应该匹配

  +35423452354554
  or
  3423564564
Run Code Online (Sandbox Code Playgroud)

Gab*_*ber 38

这应该工作

\+?\d+
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

^\+?\d+$
Run Code Online (Sandbox Code Playgroud)


Jef*_*ica 9

它看起来像这样:

\+?\d+
Run Code Online (Sandbox Code Playgroud)

\+装置字面加号时,?该前述组(加号)可以出现0或1次的装置,\d表示数字字符,并且最后+需要前一个图组(数字)出现一次或多次.

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


Caf*_*eek 6

简单 ^\+?\d+$

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