正则表达式网址重写

时间:2016-10-12 18:08:48

标签: regex url-redirection

我一直在测试正则表达式的网址重写,并且遇到了2个工作,但我想知道哪个更好。或者,如果它们都不好,这将是处理重定向要求的最佳方式。

基本上我正在寻找重定向任何具有共同根路径的网址。

例如:

/pages/enteral-feeding-pump
/pages/enteral-feeding-pump/
/pages/enteral-feeding-pump/1234
/pages/enteral-feeding-pump/1234/
/pages/enteral-feeding-pump/1234/1234
/pages/enteral-feeding-pump/1234/1234/

这些是我有的:

^/pages/enteral-feeding-pump/?(?:[^\/]+\/?)*$

^/pages/enteral-feeding-pump/?(?:.*)

我测试了它们,它们都有效,但老实说,我不知道哪条路是最好的。

1 个答案:

答案 0 :(得分:0)

正则表达式存在一个小问题。不确定这对你来说有多大,但值得注意。

两个正则表达式都匹配以下网址:

^\/pages\/enteral-feeding-pump(?:$|\/(?:.+)?)

由于它没有相同的核心路径,我假设您不想与此匹配。所以下面,我对你提供的正则表达式进行了一些小的修正,以防止这种情况发生。

/

我改变的唯一一件事是我在$之后直接要求enteral-feeding-pump或行尾(public class App { public int id=6; // got an error of "Syntax error on token ";", , expected" id=7; } )。

Regex Example