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

Regex 正则表达式匹配可选的'+';后跟任意位数的符号,regex,Regex,我想要一个正则表达式来匹配一个字符串,该字符串可能以加号开头,也可能不以加号开头,然后包含任意数量的数字 这些应该是匹配的 +35423452354554 or 3423564564 这应该行得通 \+?\d+ 在行首匹配可选的+,并在其后匹配数字 编辑: 截至OP的澄清请求:3423kk55匹配,因为它是第一部分(3423)。要匹配整个字符串,请改为使用以下选项: ^\+?\d+$ 它的Perl正则表达式可以是:\+?\d++它看起来像这样: \+?\d+ \+表示文字加号

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

这些应该是匹配的

  +35423452354554
  or
  3423564564
这应该行得通

\+?\d+
在行首匹配可选的
+
,并在其后匹配数字

编辑:

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

^\+?\d+$

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

它看起来像这样:

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


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

简单
^\+\d+$

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