我一直在测试正则表达式的网址重写,并且遇到了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/?(?:.*)
我测试了它们,它们都有效,但老实说,我不知道哪条路是最好的。
答案 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;
}
)。