正则表达式匹配一个且只有一个数字

时间:2017-07-27 23:06:52

标签: regex

我需要匹配一个数字,1到9.例如,3应该匹配,但34不应该匹配。

我试过了:

\d
\d{1}
[1-9]
[1-9]{1}
[1-9]?

它们都匹配3和34.我正在使用正则表达式,因为它是我使用交替的更大表达式的一部分。

1 个答案:

答案 0 :(得分:5)

当然,所有示例的问题在于它们与数字相匹配,但不会使自己不能匹配彼此相邻的多个数字。

在以下示例中:

  

一些带有3和34的文本以及b5和64b的内容是什么?

这个正则表达式will match只有孤独的public function getUsers2(){ $path = "users/?accesstoken=c24f506fe265488435858925096bc4ad7ba0"; $method = 'GET'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->url . $path); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); $output = curl_exec($ch); $curl_error = curl_error($ch); curl_close($ch); return $output; } 。它使用单词边界,一个方便的功能。

3

如果你想匹配单词里面的单个数字会变得更复杂,比如我的例子中的\b[1-9]\b ,但你没有指明你是否想要那个,所以我现在就把它留下来