我有一个脚本,应该在某个页面路径打开时触发。
问题:页面路径包含多个参数,包括参数“returnUrl”,返回访问的上一页。
这是我要检查的网址:
/cxsSearchApply?positionId=a0w0X000004IceYQAS&lang=en&returnUrl=https://example.com/cxsrec__cxsSearchDetail?id=a0w0X000004IceYQAS&lang=en&returnUrl=https://example.com/cxsrec__cxsSearch&lang=en
我最初使用此正则表达式代码在此页面上触发:
(cxsSearchApply.*)
但我有其他正则表达式代码,如:
(cxsSearchSearchDetail.*)
它们也会因为网址中包含的页面路径而触发...
我应该使用什么reggex来匹配url的第一部分,但在“returnUrl”之后没有任何内容?
所以你想在cxsSearchApply
之前匹配文本上的&returnUrl
。您可以使用前瞻:
(cxsSearchApply.*)(?=returnUrl=)
然而,你真正想要的是在第一个&returnUrl
之前匹配所有东西。所以你需要一个非贪婪的运算符:
(cxsSearchApply.*?)(?=returnUrl=)
同样,对于您的其他搜索,它应该不再匹配,因为它也只是查看第一部分:
(cxsSearchSearchDetail.*?)(?=returnUrl=)
我相信这会得到你想要的东西。
“returnUrl”之后什么都没有
如果这是你想要的字面意思,你可以简单地做(.*)(&returnUrl=.*)
并将第一个捕获组作为你的结果。