首页 > 解决方案 > 关于使用 REGEX 在 PHP 中搜索字符串重合的建议

问题描述

我试图在一个字符串中搜索这个巧合: 1. 只要这个巧合没有空格,我只需要在字符“@”之后取数字,例如:

String = '这是一个测试@VVC345RR,文字,还有更多文字12345';
我只想从我的字符串中获取这个 -> 345

我的例子:

$s = '\"access_token=103782364732640461|2. myemail@domain1.com ZmElnDTiZlkgXbT8e3 @DD234 4Jrw__.3600.1281891600-10000186237005';
$matches = array();
$s = preg_match('/@([0-9]+)/', $s, $matches);
print_r($matches);

这仅在我有一个 @ 和数字时才有效。谢谢!

标签: phppreg-replace

解决方案


也许:

@\D*\K(\d+)

实现你想要的?

这将查找@任何非数字,然后捕获数字。忽略早期的\K比赛。

https://regex101.com/r/gNTccx/1/

我不清楚你的意思是什么has not spaces,示例字符串中没有空格。


推荐阅读