我正在尝试在一系列网址
中找到以下字符串 ?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
,但它似乎无法正常工作
找到我需要的正确的正则表达式是什么?
由于
答案 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)