我正在努力寻找正确的正则表达式以匹配以下内容;
content/foo/B6128/8918/foo+bar+foo
或者
content/foo/B6128/8918/foo+bar+foo/randomstringnumsletters
我确定这不是那么复杂,而且我已经快到了,只是无法完美。这是我尝试过的;
content\/(\w+)\/(\w+)\/(\d+)\/([^\/]+[\w]+)\/?(\w*)$
使用此在线测试仪:http : //regex101.com/r/sB8rR5/2
它仍然与该字符串匹配第五个项content/foo/B6128/8918/foo+bar+foo
;
从技术上讲,此模式确实与OR网址结构匹配。没有randomstringnumsletters
礼物时,我不希望它与第五项匹配。
在玩了一段时间之后,我确实意识到某些元素与我尝试过的内容是多余的,但是我对此一无所知...
只需将最后一个捕获组变成一个可选的组,然后更改\w*
为\w+
最后一个捕获组,以防止第5个组捕获空字符。
content\/(\w+)\/(\w+)\/(\d+)\/([^\/]+[\w]+)\/?(\w+)?$
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句