Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在url端匹配重定向,忽略子字符串_Regex_Url_Url Redirection - Fatal编程技术网

Regex 在url端匹配重定向,忽略子字符串

Regex 在url端匹配重定向,忽略子字符串,regex,url,url-redirection,Regex,Url,Url Redirection,我目前正在尝试从旧网站重定向到新网站。 域已更改,子路径也已更改,但结尾总是相同的,因此我尝试创建一个正则表达式,该正则表达式将忽略子路径,并且只与结尾匹配,无论组合如何 例如: 这3个URL都包含单词“fodbolde”,但我只想匹配前两个,因为它们都以“/fodbolde”结尾,并忽略过程中的子路径 到目前为止,我已经能够用这个来匹配末端: \/([a-zA-Z]*)*+$ 我如何创建一些东西来解释不同的子路径 p.s.这是一家大型体育用品商店,因此如果您只对最后一部分感兴趣,那么不

我目前正在尝试从旧网站重定向到新网站。 域已更改,子路径也已更改,但结尾总是相同的,因此我尝试创建一个正则表达式,该正则表达式将忽略子路径,并且只与结尾匹配,无论组合如何

例如:

这3个URL都包含单词“fodbolde”,但我只想匹配前两个,因为它们都以“/fodbolde”结尾,并忽略过程中的子路径

到目前为止,我已经能够用这个来匹配末端:

\/([a-zA-Z]*)*+$
我如何创建一些东西来解释不同的子路径


p.s.这是一家大型体育用品商店,因此如果您只对最后一部分感兴趣,那么不必为每种可能的组合创建一个唯一的重定向就好了

url.rsplit('/', 1)[-1]

您当前的正则表达式没有考虑
/fodbolde
。如果必须在末尾,可以使用
$
断言字符串的结尾,如
/fodbolde$

一种可能是匹配字符串
^https?://
的开头,还可以选择匹配商店<代码>(?:shop\)?后接
kmsport\.sk/

然后使用重复模式匹配,而不是正斜杠后跟正斜杠零次或多次
(?:[^/]+/)*
,并在字符串末尾匹配fodbolde
fodbolde$


编程新手,仍在学习中。这是python,对吗?我如何用这个重定向?(你能用我上面的URL举个例子吗?)也谢谢你的回答。即使不是
fodbolde
请重新表述你的问题,也能记住最后一部分!!现在我很困惑,因为你在找什么!!我需要重定向许多url,不知道每次的确切路径,但只知道结尾…上面的代码是用python编写的,它将捕获url的最后一部分。因此,无论您使用正则表达式做什么,都将由这段代码处理,它将处理介于“fodbole”之间的URL!好的,这很有效,但它只与“fodbolde”结尾特别匹配。是否有可能进行重定向,在那里,无论是什么结尾,它都将与具有相同路径结尾的url匹配。Eksampels:@EsbenHornbøll您可以重复匹配正斜杠的部分,然后在字符串结尾处不匹配正斜杠,直到零次或多次
(?:/[^/])*
,或者如果必须至少有一个子项,则可以使用plus
(?:/[^/])重复至少一次+
例如,我不清楚您的问题。如果问题是检查字符串末尾和前一个斜杠之间的字母是否在两个不同的字符串中匹配,只需在每个字符串上使用
\/[a-zA-Z]*$
,并检查
==
是否是一家大型体育用品商店,有很多产品。许多不同的url路径和组合。我怎样才能更容易地做到这一点,而不是一个产品一个产品、一个类别一个类别地重定向产品?