使用正则表达式在URL中查找字符串

时间:2013-06-08 08:13:34

标签: regex

我正在尝试在一系列网址

中找到以下字符串

?filters=categories

网址如下:

www.domain.com/shoes?filters=categories
www.domain.com/clothes/design?filters=categories
www.domain.com/bags/designer/season?filters=categories

我一直在这里http://www.regular-expressions.info/reference.html

我已经尝试了.?filters=categories,但它似乎无法正常工作

找到我需要的正确的正则表达式是什么?

由于

5 个答案:

答案 0 :(得分:1)

转义特殊字符?以使其成为文字。

\?filters=categories$

答案 1 :(得分:1)

?是一个特殊的正则表达式字符,意思是“前面表达式的0-1”。你需要逃避它以使它成为文字:

\?filters=categories

如果要提取过滤器参数值,请使用此正则表达式:

(?<=\?filters=).*?(?=$|&)

此示例与您示例中的categories匹配。

答案 2 :(得分:0)

/\?filters=categories$/

但我怀疑正则表达式是否适用于您的问题。使用其他函数可以更快地匹配静态字符串。

答案 3 :(得分:0)

您可能正在寻找的是:

\?filters=categories$

这将匹配字符串末尾的filters=categories后面的文字问号。

如果网址query string有可能包含其他数据,但您仍希望在这种情况下匹配,则应使用正确的URL解析库。或者可能改用:

(?<=\?|\?.*&)filters=categories(?=&|$)

使用lookarounds在查询字符串中的任何位置匹配filters=categories

答案 4 :(得分:0)

(\?filters = categories)

这个正则表达式将完全匹配你想要的......

http://www.regexbuddy.com/这更有帮助

相关问题