【问题标题】:Regexp for 2 new lines not match2 个新行的正则表达式不匹配
【发布时间】:2019-03-03 10:25:27
【问题描述】:

在我的 Java 项目中,我需要匹配下一个文本。 我使用 WireMock 来存根请求。所以我需要编写正则表达式来查找期望请求并返回存根响应。 在 WireMock 中,我需要编写正则表达式来拦截 http 请求。

假设我有 2 个 json:

{                                                                                                                                                                                                                                            
    "action": "Handler:GET_DICTIONARY",
    "locale": "en",
    "data": {"dictionary_type":"EXCHANGE_RATES_AS_DICTIONARY"}
}

{                                                                                                                                                                                                                                            
    "action": "Handler:GET_DICTIONARY",
    "locale": "en",
    "data": {"dictionary_type":"MTS"}
}

我只需要通过正则表达式选择第二个 json。识别第二个 json 的唯一文本是:

第一行:GET_DICTIONARY

第三行:MTS

什么是正确的正则表达式?

我尝试了这个正则表达式,但它没有帮助:

GET_DICTIONARY\(.*\r\n\)\{2\}.*MTS

【问题讨论】:

  • 为什么要使用正则表达式?改为解析 JSON
  • 我使用 WireMock 来存根请求。所以我需要编写正则表达式来查找欲望请求。
  • 仍然,使用 json 解析器
  • @mvp 在 WireMock 中我需要编写正则表达式来拦截 http 请求。
  • 拦截http请求并使用json解析器。如果它不解析,则测试失败。

标签: java regex wiremock


【解决方案1】:

这里Demo

试试这个

GET_DICTIONARY(.*\n){2}(.*MTS.*)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多