我有一个urlPattern:
"urlPattern" : "^\/blah\/players\/1000\/game\/tickets\\?drawFrom=(.*)&drawTo=(.*)&take=10&skip=0"
但当试图匹配它们时,我会得到“请求不匹配”和这个错误
<<<<< null. When using a regex, "?" should be "\\?". URLs must start with a /
url正则表达式也显示在终端中
^\/blah\/players\/1000\/game\/tickets\?drawFrom=(.*)&drawTo=(.*)&take=10&skip=0
我用过\\?
而不是\?
所以我被困在问题可能是什么上。我也在其他工作正常的地方使用了几乎相同的正则表达式。
编辑:这是实际请求的样子
/blah/players/1000/game/tickets?drawFrom=2018-01-01&drawTo=2018-02-02&take=10&skip=0
您的错误是因为URL不需要前面的^
,因为WireMock知道URL以/
开头。此外,不需要转义/
字符。
这应该行得通:
"urlPattern" : "/blah/players/1000/game/tickets\\?drawFrom=(.*)&drawTo=(.*)&take=10&skip=0"
问题内容: 我实现了如下所示的Pattern类:http : //www.java2s.com/Code/Java/GWT/ImplementjavautilregexPatternwithJavascriptRegExpobject.htm 我想使用以下正则表达式来匹配我的String中的网址: 不幸的是,Java编译器当然无法解析该字符串,因为它不使用有效的转义序列(因为从技术上讲,以上是Ja
问题内容: 在使用正则表达式时,我使用RegexBuddy。我从其库中复制了正则表达式以匹配URL。我在RegexBuddy中成功测试。但是,当我将其复制为Java 样式并将其粘贴到Java代码中时,它将无法正常工作。以下类打印: 有人知道我在做什么错吗? 问题答案: 请尝试以下正则表达式字符串。你的测试可能以区分大小写的方式进行。我添加了小写字母Alpha以及正确的字符串开头占位符。 这也适用:
问题内容: 正则表达式可以匹配空格 或 字符串的开头吗? 我正在尝试用英镑符号替换缩写为GBP的货币。我可以匹配任何以GBP开头的东西,但我想更加保守一些,并在它周围寻找某些定界符。 我可以同时做后两个例子吗? 问题答案: 使用OR“ ”运算符:
问题内容: 用于正则表达式的Java API 声明将匹配空格。因此,正则表达式应匹配两个空格。 这样做的目的是用单个空格替换两个连续空格的所有实例。但是,这实际上不起作用。 我对正则表达式或“空白”一词有严重的误解吗? 问题答案: 是的,你需要获取matcher.replaceAll()的结果:
下面是在线测试:regex101 下面是java测试: 下面是我测试的输出: 为什么匹配项2为空?在联机匹配器中,它对两者都正确匹配。 正则表达式字符串的说明:
我们得到了一些这样的内容: