-5

我有一个 HTML 响应正文/字符串。该 html 内容的一部分是这些字符串 -

<h2><a href="javascript:;" class="user-name-class">MY_USER_NAME<b></b></a></h2>

["media_detail","init",[false,"",null,true,1,4,"99999_XXXXX_99999",11836530,"00076f7474727febc37a8825d373a5be","\/p\/LdvJWSF-6b\/","\/accounts\/login\/"]],

从这些我需要提取MY_USER_NAME99999_XXXXX_99999

我会感谢正则表达式摇滚明星的帮助。这是在 ruby​​ 1.9.3 中。谢谢。

更新:我们正在使用正则表达式,因为这不是实时完成的,所以性能不是问题。

4

3 回答 3

3

第一个是 HTML,所以你应该用 HTML 解析它,另一个是 JSON,所以你可以使用一些 JSON 库。不要使用正则表达式。这是邪恶的

于 2012-11-02T20:20:46.063 回答
0

You can use

s.split(/"user-name-class">/)[1].split(/</)[0]

(see this demo)

and

s.split(/\["media_detail"/)[1].split(/\[/)[1].split(/"?,"?/)[6]

(see this demo)

于 2012-11-02T20:42:39.713 回答
0

如果您不想使用 HTML/JSON 库,您可以通过以下方式获取第一个库:

str.gsub!(/<.*?>/, '')

要对第二个进行正则表达式,您将不得不告诉我们更多关于字符串格式的信息……什么是一致的,什么不是,等等。

于 2012-11-02T20:33:27.820 回答