我需要对两个字符串进行比较。第一个字符串如下所示:
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检查字符串是否匹配?
答案 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 强>