【发布时间】:2018-04-28 15:24:24
【问题描述】:
我正在从 SOAPUI 向wiremock 服务器发送一个请求,并且我正在尝试匹配 url。
这是正在发出的请求:/user/test/?and=query
我写了以下正则表达式:
stubFor(post(urlPathMatching("/user/test/\\?(and)\\=([a-z]*)"))
问题是当我尝试匹配“?”当我使用 one 反斜杠来捕获文字字符时,Java 中出现错误提示:
"Illegal Escape Character"
我尝试解决问题的方法: 我知道解决方案是使用第二个反斜杠来捕获“?”像这样:“\?”,但是当我发送请求时,我收到一条错误消息,指出 url 不匹配,因为这是与从 soap ui 发送的原始请求匹配的请求:
/user/test/\?(and)\=([a-z]*)
有人可以帮我解决这个问题吗?
编辑:第二次尝试 我尝试使用点符号来表示“?”和“=”符号。我已经在正则表达式测试仪上对此进行了测试,它检查出来了,但是,它仍然说 url 在soap ui 上不匹配。
正则表达式:stubFor(post(urlPathMatching("/user/test/.*(and).*([a-z]*)")).atPriority(1)
不匹配的网址:/user/test/.*(and).*([a-z]*)
【问题讨论】:
-
有人知道吗?
-
要匹配
/user/test/?and=query,您需要转义斜杠和问号。所以试试:\/user\/test\/\?and=query。或者更一般地说\/user\/test\/\?\w+=\w+