当前网址:
http://domain.com/index.php?route=common/home
http://domain.com/index.php?route=account/register
http://domain.com/index.php?route=checkout/cart
http://domain.com/index.php?route=checkout/checkout
所需网址:
http://domain.com/home
http://domain.com/register
http://domain.com/cart
http://domain.com/checkout
正则表达式:
(?=\=)(.*?)(?<=\/).+$
...几乎可以使用,但它匹配(例如最后一个网址)=checkout/
,而我需要它来匹配index.php?route=
,所以我可以删除整个index.php?route=checkout/
URL。
我试过index.php?route=(?=\=)(.*?)(?<=\/).+$
但是当然它不起作用。
答案 0 :(得分:2)
要删除所需的部分,您应该替换:
index.php\?route\=[^\/]*\/
带有空字符串。 为了更加严格和精确,你应该使用lookbehind:
(?<=http:\/\/domain.com\/)index.php\?route\=[^\/]*\/
在此处检查正则表达式:https://regex101.com/r/sY7aV6/1