【问题标题】:Regex: Extract string between two strings正则表达式:在两个字符串之间提取字符串
【发布时间】:2021-11-19 06:28:27
【问题描述】:

这是我面临的问题

字符串

nt/sign-in?wa=wsignin1.0&wtre


需要

我需要从该字符串中提取以下内容

  • wsignin1.0


尝试

到目前为止,我已经尝试了以下正则表达式

wa=(.*?)(?=&amp)

这会返回:

wa=wsignin1.0

“wa=”不应该在那里

【问题讨论】:

    标签: regex jmeter


    【解决方案1】:

    也许是回头看看?

    (?<=wa\=)(.+)(?=\&wtre)
    

    wsignin1.0

    【讨论】:

    • 是的,有效。但我稍微编辑了一下 (?
    【解决方案2】:

    JMeter 使用Perl5-style regular expressions,因此您正在寻找的正则表达式可能很简单:

    wa=(.+?)&wtre
    

    演示:

    在您的正则表达式提取器中使用$1$ 作为“模板”。

    有关 JMeter 测试故障排除的更多详细信息,请参阅 How to Debug your Apache JMeter Script

    【讨论】:

      【解决方案3】:
      =([\w.]++)
      

      将在第一个捕获组中捕获它。否则,我认为@jivan 有一个好主意。稍微调整一下:

      (?<==)[\w.]++
      

      【讨论】:

        【解决方案4】:

        把它放在你的正则表达式提取器中:

        nt/sign-in?wa=([a-zA-Z0-9\.]*)&wtre
        

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-30
          • 2014-06-12
          • 2017-04-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-22
          相关资源
          最近更新 更多