正则表达式从字符串中获取数字

时间:2015-06-12 23:04:32

标签: php regex

请帮我从以下字符串中获取数字......

  

755 North Estate,NY 11415(QTY#34255623)

我正在尝试34255623使用正则表达式,但仍在学习相同的内容,请任何正则表达式专家帮助我。感谢

3 个答案:

答案 0 :(得分:1)

这应该适合你:

\(QTY\#\s(\d+)\)

只需使用\d 0-9和量词+,即1次或更多次。

regex demo

答案 1 :(得分:1)

没有正则表达式:

$strng='755 North Estate, NY 11415 (QTY# 34255623)';
$newstr=substr($strng,strpos($strng,"QTY# ")+5,strpos($strng,")");

答案 2 :(得分:1)

您使用的正则表达式(QTY# (.+))在您的匹配中也会有QTY#,根据您所说的内容,这不是您想要的。 “”意味着什么,“+”是一个量词,意味着一次或多次,所以你想要它在分组之外。如果您使用了/ QTY#(​​。)+ /,它可能会起作用,但返回QTY# 34255623)及其后的任何内容

如果您只想要数字,则可以使用与\d相同的0-9您可以使用Rizier123发布的内容并使用(QTY#部分或尝试使用lookbehind 。 (?<=\(QTY\#\s)(\d+)只会返回该号码。