原始字符串包含“+”,正则表达式提取器 (.+?) 将其替换为 space。我怎样才能用“+”提取
Original string contains "+", regular expression extractor (.+?) replaces it with a space. How can I extract with the "+"
(编辑:答案是在 HTTP 请求中使用检查“编码?”选项。请参阅 Vinoth 的编辑 2 和下面的评论,谢谢!)
这很有趣!
我正在尝试解析一个 HTTP 响应(让我们举个具体的例子,
bigH:"2a3a6CEH+iJakQpQtPm8efv"
尝试使用正则表达式提取器
bigH:"(.+?)"
它提取字符串但用 space 替换字符串中的所有“+”。也就是说,而不是
"2a3a6CEH+iJakQpQtPm8efv"
它给了我:
"2a3a6CEH iJakQpQtPm8efv"
注意 H 和 i 之间的 space。
如何阻止它用 space 替换“+”?如果有人也能给出解释,我将不胜感激。
顺便说一句,我尝试了 (.+?)
和 (.\++?)
甚至 ([.|\+]+?)
- 没有用 :(
谢谢,
--Ishtiaque
使用以下屏幕截图进行更新:
添加截图:
POST 响应数据:
在 JMeter 中使用正则表达式提取器进行解析后:
在 Notepad++ 中并排显示:
'Raw' 选项卡显示“+”:
'HTTP' 选项卡不:
尝试使用正则表达式 ([a-zA-Z0-9+]+)
当您收到 JSON 格式的响应时,我会选择 JSON Path Extractor。
这似乎是一种比使用正则表达式更简单的方法。
下面的 JSON Path
应该负责从您的 JSON 获取编码字符串,您应该可以使用 ${bigH}
.
访问
查看 this 了解更多详情(向下滚动查看 JSON 路径提取器详情)。
编辑:
我错了,你得到的回复是 JSON 格式。您是否尝试从脚本标签访问 - bigH:"XXX" - ?为此,我们必须仅使用正则表达式提取器或 Beanshell。
<script type='text/javascript' charset='utf-8'>
registerSubmit(document.forms[0].elements['SubmitTopButton']);
registerSubmit(document.forms[0].elements['SubmitBottomButton']);
(function($) {
$(".wb_tsauthall").wb_tsauthall({
auth : "Authorize All",
unauth : "Unauthorize All",
locMsgKeys : []
});
$(".wb_newedit").wb_newedit({
labels:['Job','Code','Work Premium','Flat Rate','Premium','Shift','Sched Times','LTA','Sched Times w Breaks','Delete Details','Employee Holiday','Work Detail','Schedule Detail'],values:[105,103,200,206,204,450,401,500,461,199,900,100,460],bigH:"PVxUbYIODBT31j8IZnPGxF/9O1iuKAkFzTO9WhXu8An8hAUa22tLiWrEHz8v9SIu/NXZH1a5IxO0xYeNwRIYM+3n1kNsrESnhiAYhwhCiqUY9mI4hvEPgAOx7B+MEB8iSIUyNGNZbeGx9nSogFYpNrzmCXirW7Nm9Tn7owPKHmc8dOf5SZ+eDzAOHIB8+5YzQ3bIdFoe60hOMkyd7FiUXtwPcNMUFEjOSMs9JhgIHTE4agpCdbFb6SLuSuLoO9rqxj+9GovUbzTmrxj4faBKZVATNN7iIFyDZHYAZuZRcPJBdUJ1xNHMCWyPZ4p2/Yk0Q0ujdKJbJw9NFysikZgBFNEhNXEA4w8HL1ycYCmZDgSUW1GsumDAKh0Brq3K8Kh2akep8YEjDMWipKgSPaNx3CVY4lf87e0oK70nK/zKGkmpWFvyMnxbkJtWmeuxmPgRZgg2lYbZXFauD1AidnQQhPULJTTV+P+Xkk9PYm3ZkIEcDnYJUmPg/D3iuwg84m2IZatFTdjiNuDAcGNKptTd54yMgohN87c3sRMiZlSY/r88u+Le3BKWJqyl7Xai7Odqz366DFgOzdPi92LnSaggKX++hy+Z04kjyfSZOUYWmiWlc38SUdeTq2v15egig2mMkSLMaUnHagk="
});
$("#codeSummaryBar").wb_expandableframe({
iframe : contextPath + '/dailytimesheet/summaryInline.jsp'
});
$("#codeSummaryBar").click(function(){$("#codeSummaryBar_expand_collapse_icon").toggleClass("collapse expand");});
$("#codeSummaryBar").click();
$("#selectionBar").wb_expandableframe({
iframe : contextPath + '/dailytimesheet/dailySelectInline.jsp',
onExpand : function() {
$(".selectionBarControl").css("visibility", "hidden");
$("#expand_collapse_icon").removeClass("expand").addClass("collapse");
},
onCollapse : function() {
$(".selectionBarControl").css("visibility", "");
$("#expand_collapse_icon").removeClass("collapse").addClass("expand");
}
});
DTS.onload();
})(jQuery);
</script>
编辑 2:
我怀疑您是否检查了 HTTP 请求中的 Encode
。
取消勾选
(编辑:答案是在 HTTP 请求中使用检查“编码?”选项。请参阅 Vinoth 的编辑 2 和下面的评论,谢谢!)
这很有趣!
我正在尝试解析一个 HTTP 响应(让我们举个具体的例子,
bigH:"2a3a6CEH+iJakQpQtPm8efv"
尝试使用正则表达式提取器
bigH:"(.+?)"
它提取字符串但用 space 替换字符串中的所有“+”。也就是说,而不是
"2a3a6CEH+iJakQpQtPm8efv"
它给了我:
"2a3a6CEH iJakQpQtPm8efv"
注意 H 和 i 之间的 space。
如何阻止它用 space 替换“+”?如果有人也能给出解释,我将不胜感激。
顺便说一句,我尝试了 (.+?)
和 (.\++?)
甚至 ([.|\+]+?)
- 没有用 :(
谢谢, --Ishtiaque
使用以下屏幕截图进行更新:
添加截图:
POST 响应数据:
在 JMeter 中使用正则表达式提取器进行解析后:
在 Notepad++ 中并排显示:
'Raw' 选项卡显示“+”:
'HTTP' 选项卡不:
尝试使用正则表达式 ([a-zA-Z0-9+]+)
当您收到 JSON 格式的响应时,我会选择 JSON Path Extractor。
这似乎是一种比使用正则表达式更简单的方法。
下面的 JSON Path
应该负责从您的 JSON 获取编码字符串,您应该可以使用 ${bigH}
.
查看 this 了解更多详情(向下滚动查看 JSON 路径提取器详情)。
编辑:
我错了,你得到的回复是 JSON 格式。您是否尝试从脚本标签访问 - bigH:"XXX" - ?为此,我们必须仅使用正则表达式提取器或 Beanshell。
<script type='text/javascript' charset='utf-8'>
registerSubmit(document.forms[0].elements['SubmitTopButton']);
registerSubmit(document.forms[0].elements['SubmitBottomButton']);
(function($) {
$(".wb_tsauthall").wb_tsauthall({
auth : "Authorize All",
unauth : "Unauthorize All",
locMsgKeys : []
});
$(".wb_newedit").wb_newedit({
labels:['Job','Code','Work Premium','Flat Rate','Premium','Shift','Sched Times','LTA','Sched Times w Breaks','Delete Details','Employee Holiday','Work Detail','Schedule Detail'],values:[105,103,200,206,204,450,401,500,461,199,900,100,460],bigH:"PVxUbYIODBT31j8IZnPGxF/9O1iuKAkFzTO9WhXu8An8hAUa22tLiWrEHz8v9SIu/NXZH1a5IxO0xYeNwRIYM+3n1kNsrESnhiAYhwhCiqUY9mI4hvEPgAOx7B+MEB8iSIUyNGNZbeGx9nSogFYpNrzmCXirW7Nm9Tn7owPKHmc8dOf5SZ+eDzAOHIB8+5YzQ3bIdFoe60hOMkyd7FiUXtwPcNMUFEjOSMs9JhgIHTE4agpCdbFb6SLuSuLoO9rqxj+9GovUbzTmrxj4faBKZVATNN7iIFyDZHYAZuZRcPJBdUJ1xNHMCWyPZ4p2/Yk0Q0ujdKJbJw9NFysikZgBFNEhNXEA4w8HL1ycYCmZDgSUW1GsumDAKh0Brq3K8Kh2akep8YEjDMWipKgSPaNx3CVY4lf87e0oK70nK/zKGkmpWFvyMnxbkJtWmeuxmPgRZgg2lYbZXFauD1AidnQQhPULJTTV+P+Xkk9PYm3ZkIEcDnYJUmPg/D3iuwg84m2IZatFTdjiNuDAcGNKptTd54yMgohN87c3sRMiZlSY/r88u+Le3BKWJqyl7Xai7Odqz366DFgOzdPi92LnSaggKX++hy+Z04kjyfSZOUYWmiWlc38SUdeTq2v15egig2mMkSLMaUnHagk="
});
$("#codeSummaryBar").wb_expandableframe({
iframe : contextPath + '/dailytimesheet/summaryInline.jsp'
});
$("#codeSummaryBar").click(function(){$("#codeSummaryBar_expand_collapse_icon").toggleClass("collapse expand");});
$("#codeSummaryBar").click();
$("#selectionBar").wb_expandableframe({
iframe : contextPath + '/dailytimesheet/dailySelectInline.jsp',
onExpand : function() {
$(".selectionBarControl").css("visibility", "hidden");
$("#expand_collapse_icon").removeClass("expand").addClass("collapse");
},
onCollapse : function() {
$(".selectionBarControl").css("visibility", "");
$("#expand_collapse_icon").removeClass("collapse").addClass("expand");
}
});
DTS.onload();
})(jQuery);
</script>
编辑 2:
我怀疑您是否检查了 HTTP 请求中的 Encode
。
取消勾选