preg_match用于匹配另一个字符串的字符串的一部分

时间:2015-09-13 08:56:51

标签: php regex laravel laravel-5 preg-match

我需要对两个字符串进行比较。第一个字符串如下所示:

http://my.app/admin/users/administrators/{id}/edit

第二个字符串如下所示:

http://my.app/admin/users/administrators/1/edit

{id}值表示数字字符,因此上面的字符串应匹配。如果我要比较这个字符串,那么它将不匹配:

http://my.app/admin/users/administrators/xxx/edit

如何使用PHP / Laravel检查字符串是否匹配?

1 个答案:

答案 0 :(得分:0)

您可以使用前瞻来实现此目标

/(?<=administrators\/)\d+(?=\/edit)/

<强> Regex explanation here

PHP:

$re = "/(?<=administrators\\/)\\d+(?=\\/edit)/"; 
$str = "http://my.app/admin/users/administrators/1/edit"; 

preg_match($re, $str, $matches);

更新:由于网址只包含一个数字组合,因此我们可以使用

/\d+/

<强> Regex explanation here