我想用正则表达式提取ajaxBrowserNavigationCheck之后的值('& x,然后在=以下javascript代码之前:
if (ajaxBrowserNavigationCheck('&x909ef93d-61ac-4311-ac56-20c2ae9770f5=7ebdc2a4-df58-4c1c-9b50-96964c93e927', '', 'servletcontroller', '')){
processBrowserNavigationButton();
基本上我想要的额外值是& x909ef93d-61ac-4311-ac56-20c2ae9770f5 (=之前的值,我们需要& x) 和 7ebdc2a4-df58-4c1c-9b50-96964c93e927 (=后的值)
请注意,该值有两次(在MODE = BROWSER_NAV之后) 请注意,这两个值都有36个char而没有& x & x总是存在第一个字符串 到目前为止,我的注册表在这里有点生疏: (& x([0-9a-fA-F] | - )+)让我第一部分
(& x([0-9a-fA-F] | - )+)|(=([0-9a-fA-F] | - )+)给我两个但是=我们不想要它......
编辑:对不起,我忘记了这个语言,这是一个使用jakarta ORO的jmeter脚本。
Edit2:我意识到我可以将它们分成两个变量甚至三个jmeter,这样可以更容易一些。
Edit3:我删除了窗口位置部分,因为它有误导性,因为它在ajax部分是相同的。 在 ajaxBrowserNavigationCheck('& x909ef93d-61ac-4311-ac56-20c2ae9770f5 = 7ebdc2a4-df58-4c1c-9b50-96964c93e927','','servletcontroller','')) 我们想要& x909ef93d-61ac-4311-ac56-20c2ae9770f5 和 7ebdc2a4-df58-4c1c-9b50-96964c93e927
答案 0 :(得分:1)
你还没有说过你使用的语言,所以很难给出一个可靠的答案。
这只匹配你的目标:
&x[a-fA-F0-9-]*(?==)
最后一个术语是向前看,它断言但不捕获等号。
此正则表达式匹配所有输入并将每个目标捕获两次作为组1和2:
(?m).*?(&x[a-fA-F0-9-]*)=.*(&x[a-fA-F0-9-]*)=.*
在rubular上查看live demo