我有以下URL结构:
http://sitename.com/subdir/category-name/subcategory-name/article
以下是一些示例URL:
http://127.0.0.1/ocko/works/videos/
http://127.0.0.1/ocko/texts/stuff/
http://127.0.0.1/ocko/works/teletubbies/oint/
http://127.0.0.1/ocko/works/teletubbies/oint/
类别可以是works
或texts
,article
是可选的。
这是我的正则表达式:
(works|texts)(/.+)(?:(/.+))/
问题是它只匹配最后两个例子,就像第三个参数(article
)是强制性的,尽管我为最后一部分编写了(?:(/.+))
。
我正试图将幕后的东西重新安排到类似的地方:
http://127.0.0.1/ocko/category/works/videos/
我正在构建这样的字符串:http://127.0.0.1/ocko/category/$1$2$3
怎么样:
(works|texts)(/.+?)(/.+?)?/
https://regex101.com/r/oK1eU7/1