Regex 预匹配页码
我一直在尝试一些表达式来实现这一点,但没有找到一个有效的 我想用正则表达式将Regex 预匹配页码,regex,preg-match,Regex,Preg Match,我一直在尝试一些表达式来实现这一点,但没有找到一个有效的 我想用正则表达式将/search/test/2转换为(php)/search/$query/$page 这是我能想到的唯一方法,/^\/search\/(.*)(\/(\d*))?/,但它不起作用,因为我需要页码和/之前的页码是可选的 有没有人知道一种方法可以获得一个只有我需要的信息的pre_match数组 提前感谢。试试这个: /^\/search\/(?<query>[^\/]*)(?:\/(?<page>\d
/search/test/2
转换为(php)/search/$query/$page
这是我能想到的唯一方法,/^\/search\/(.*)(\/(\d*))?/
,但它不起作用,因为我需要页码和/之前的页码是可选的
有没有人知道一种方法可以获得一个只有我需要的信息的pre_match数组
提前感谢。试试这个:
/^\/search\/(?<query>[^\/]*)(?:\/(?<page>\d*))?/
/^\/search\/(?[^\/]*)(?:\/(?\d*))/
可以选择在末尾添加\/?
,以捕获尾部斜杠
preg_match('@^/search/([^/]+)(?:/(\d+))?$@', $string, $matches)