Regex PCRE正则表达式前瞻
我无法让PCRE lookahead正确工作,我们将感谢您的帮助,我发现很难解释,但现在我们开始,以这种模式为例:Regex PCRE正则表达式前瞻,regex,preg-match,pcre,Regex,Preg Match,Pcre,我无法让PCRE lookahead正确工作,我们将感谢您的帮助,我发现很难解释,但现在我们开始,以这种模式为例: /^\/page(\/?[a-z0-9\.\_\-]+)*\/?$/i 这符合: /页面 /页面/ /第/abc/def页/ 这是好的,但这也与“/pageabcd”匹配,后者被认为是错误的。因此,基本上,对于URI,尾随“/”应该是可选的,除非有其他[a-z0-9\.\-\\\\\]* 我已经无助地尝试了^\/page(?=(\/)(\/?[a-z0-9\.\\-]+)*(
/^\/page(\/?[a-z0-9\.\_\-]+)*\/?$/i
这符合:
- /页面
- /页面/
- /第/abc/def页/
[a-z0-9\.\-\\\\\]*
我已经无助地尝试了
^\/page(?=(\/)(\/?[a-z0-9\.\\-]+)*(\/)$
,当我知道我做错了什么时你可以通过移除量化捕获组中?
后的量词来强制出现字母、数字、
、
或-
。此外,您可以使用\w
而不是[a-zA-Z0-9\
来稍微缩短模式。非捕获组也更合适,因为您不需要捕获A的值(将(
替换为(?:
)
使用
请看。看起来我的转义角色在之后被从postRemove?
中删除了(\/
-谢谢你,乔伊,你好吗?@WiktorStribiżew-omg,+1,很简单……我一定是在放脑屁什么的,谢谢,伙计,保持清醒
/^\/page(?:\/[\w.-]+)*\/?$/i
^