Php Regex查找最后一组括号之间的数字

Php Regex查找最后一组括号之间的数字,php,regex,Php,Regex,我一直在努力制作一个正则表达式,从字符串中提取最后一组括号中的数字,这就是我到目前为止所用的: ^.*?\([^\d]*(\d+)[^\d]*\).*$ 例如: 它返回123456,这很好,但我需要它查看最后一组并返回78910。此外,我希望正则表达式忽略除数字以外的所有内容: This is, (123bleah456) a string (789da10); 应返回:78910 更新 使用正则表达式: (\d+)(?!.*\d) 对于字符串: Telefon Mobil (123)Ap

我一直在努力制作一个正则表达式,从字符串中提取最后一组括号中的数字,这就是我到目前为止所用的:

^.*?\([^\d]*(\d+)[^\d]*\).*$
例如:

它返回123456,这很好,但我需要它查看最后一组并返回78910。此外,我希望正则表达式忽略除数字以外的所有内容:

This is, (123bleah456) a string (789da10);
应返回:78910

更新

使用正则表达式:

(\d+)(?!.*\d)
对于字符串:

Telefon Mobil (123)Apple iPhone 6 128GB Gold(1567)asd234
将在应为1567时返回234


您可以使用以下方法提取最后一个:

报道的比赛开始了

对于更具体的更新案例,稍微修改正则表达式并去掉非数字

$str = "This is, (123bleah456) a string (789da10);";

if(preg_match('/.*\(\K\d[^)]*/', $str, $out))
  $res = preg_replace('/\D+/', "", $out[0]);

Wiktor Stribiżew结束了这个问题,因为他认为这是一个重复——这是一个重复<代码>(\d+(!*\d)与您提供的示例配合得很好。现在,您说您需要的数字在最后一个
(…)
中。当然,这是一个不同的故事。@WiktorStribiżew,如果你仔细阅读,你会看到我从一开始就说,这不是一个不同的故事,即使在标题中提到数字在括号之间。我删除了我的评论,尽管它一点也不冒犯,这反映了你的行为。你将一个并非无处不在的问题标记为重复。尽管如此,答案几乎是一样的-@WiktorStribiżew我也不喜欢你编辑我的问题,我解释了为什么我在更新中使用不同的正则表达式。这是权力滥用。@WiktorStribiżew,另一方面,(\d+)(?!(\d+)如果最后一个括号中包含数字以外的任何内容,则不会返回最后一个括号中的数字。例如(123mda321),这很好,但是如果我的括号中包含类似的内容(123mda2456),该怎么办。在本例中,我还需要只提取数字123456。怎么做?boblbebubble:[返回括号内的最后一组数字,但我需要提取括号内的所有数字,例如:
(123mda456)
result:
123456
@PeterCos在本例中使用类似于
*\(\K\d[^)]*
并在结果上用
preg\u replace
\D+
去掉非数字
$out[0]
.*\(\K\d+
$str = "This is, (123bleah456) a string (789da10);";

if(preg_match('/.*\(\K\d[^)]*/', $str, $out))
  $res = preg_replace('/\D+/', "", $out[0]);