【问题标题】:Regular Expression in JMeter 2.12JMeter 2.12 中的正则表达式
【发布时间】:2014-11-24 14:27:40
【问题描述】:

我正在尝试在 JMeter 中使用正则表达式提取器。当我尝试解析以下字符串时:

8EC4146730CC4A27afMCCam3ZeAl4uWt3qMMi9cE7Q5YtIkS5BDaba6bI1cgv41dm07wWlFjAmCcRLd97tmLyuO0ycKflQzhaoQS68CGaRo1oqsL1ZQyLGJMM

来自html sn-p:

<a href="siw_portal.url8EC4146730CC4A27afMCCam3ZeAl4uWt3qMMi9cE7Q5YtIkS5BDaba6bI1cgv41dm07wWlFjAmCcRLd97tm-LyuO0ycKflQzhaoQS68CGaRo1oqsL1ZQyLGJMM" id="STU_COURSE" title="Your course">YourCourse</a>
</dt>

使用这个正则表达式:

<a href='siw_portal.url\?([^"]+)' id="STU_COURSE" title='Your course'>Your Course</a>
</dt>

并且模板设置为 $1$。

正则表达式提取器找不到字符串。

任何关于为什么这不起作用或如何调试它的想法将不胜感激。

谢谢

【问题讨论】:

  • 在正则表达式中\?url 之后做了什么?

标签: regex jmeter


【解决方案1】:

因为你把引号弄错了:

<a href="siw_portal.url\?([^"]+)".......title="Your course"
//    __^                     __^           __^         __^

而不是

<a href='siw_portal.url\?([^"]+)'.......title='Your course'

【讨论】:

  • 但实际上,表达式可能过于具体。也许/siw_portal.url\?([^"]+)/ 已经足够了。
  • @Tomalak:你当然是对的,我只是保留了 OP 的正则表达式。
  • 是的,这并不是为了更正,而是作为 OP 的 FYI。
  • 我尝试了使用双引号的解决方案,但仍然得到与单引号相同的响应,响应数据给出 ava.net.URISyntaxException: Illegal character in query at index 70: kusrweb1test.kingston.ac.uk/urd/sits.urd/run/siw_portal.url?Not Set=
  • 非常感谢您的帮助,我找到了解决方案,这是我使用的正则表达式 href="siw_portal\.url\?(.+?)" id="STU_COURSE" title="Your课程”
【解决方案2】:

您可以使用任何在线正则表达式测试器测试您的正则表达式,这将帮助您解决简单的语法错误,并提供对初学者真正有用的提示。

我喜欢这个:http://regex101.com/

您在正则表达式中对要匹配的样本使用了不同的引号,这就是您找不到匹配项的原因。当示例使用 ' 时,您匹配的是 "

您可以使用["'] 使其在这两种情况下都能正常工作,或者选择正确的'"

在您的示例中,尝试:

<a href=["']siw_portal\.url([^"^']+)["'] id=["']STU_COURSE["'] title=["']Your course["']>Your Course</a>
</dt>

【讨论】:

    【解决方案3】:

    这应该可以工作

    <a href="siw_portal.url(.+?)" id="STU_COURSE" title="Your course">YourCourse<\/a>
    <\/dt>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多