我一直在使用Ensighten进行标签管理。它管理条件(部署跟踪脚本的页面)的方式是分别使用RegEx作为协议,主机和路径。
现在,我目前的情况看起来有点像这样:
Protocol: ^(https?)$
Host: ^((www|www-qa)\.example\.com)$
Path: ^(/section-one/page/?|/section-two/page/?|/section-three/page/?)$
这很好用。但是,我被要求添加一个以查询字符串结尾的URL,这就是我遇到问题的地方。
基本上,我还需要使用以下格式定位URL:
http://www.example.com/section-one/page?&var123=456
如何编辑我的RegEx以获取包含此路径的URL路径?
/section-one/page?&var[any numbers, letters, symbols]
请注意,对于this / section-one /,我只想定位/ page或/ page +查询字符串,没有子页面。我不想定位特定的查询字符串。我还希望我的RegEx中的其他页面仍然包含在内。
我该如何写这个表达式?我必须坚持“必须匹配此RegEx”单表达式格式。
谢谢!
答案 0 :(得分:0)
改善你所拥有的:
^/section-(one|two|three)/page/?$
反斜杠通常可以逃避问号的特殊含义,但这取决于风味。
^/section-(one|two|three)/page/?($|\?)
这假设上面的$
不仅仅是一种形式,即它与网址的末尾相匹配。
如果你需要使用捕获括号来实际存储查询字符串,引擎应该为.*
提供尽可能长的匹配,以便当然有:
^/section-(one|two|three)/page/?($|\?.*)