【问题标题】:Regex to extract a string from html page正则表达式从 html 页面中提取字符串
【发布时间】:2012-07-12 14:06:52
【问题描述】:

我有一个 html 响应,其中有一行是

var session_name = '1342100453_3334440619019170';

我需要从中提取'1342100453_3334440619019170'1342100453_3334440619019170

是否可以使用正则表达式进行提取?我需要在 jmeter 中回复这个参数,但那是另一回事。

【问题讨论】:

  • 这是什么正则表达式风格? PCRE、Java、.NET、POSIX ...?
  • @JackManey ,我尝试了 ^var session_name,但这会返回整个字符串。我是正则表达式的新手。
  • @0xC0000022L 这将是 Java 正则表达式。
  • 所以在你的正则表达式中使用一个捕获组。这并不复杂。阅读一些正则表达式教程,try something,如果您对所尝试的内容有具体问题,请返回。

标签: regex testing jmeter


【解决方案1】:
^\s*var\s+session_name\s*=\s*'(.*)';\s*$

这会将'1342100453_3334440619019170' 捕获到第一个捕获组中。无论您使用什么 API,都应该能够相对轻松地访问该值。

编辑:我看到你正在使用 Java。

我不熟悉 Java 中的任何正则表达式 API,尽管 java.util.regex.Pattern 看起来还不错。

http://www.regular-expressions.info/java.html

【讨论】:

  • (.*) 是一种贪婪模式,尽可能避免使用它们。使用否定模式来限制搜索模式,例如:^\s*var\s+session_name\s*=\s*'([^']*)';\s*$,因为您的 session_name 变量不会包含撇号。
猜你喜欢
  • 1970-01-01
  • 2014-08-25
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
  • 2018-02-23
  • 1970-01-01
相关资源
最近更新 更多