【发布时间】:2013-06-06 13:20:44
【问题描述】:
我之前问过一个类似的问题,推荐 Nokogiri 作为解决方案。我用过 Nokogiri,它确实很好用。
但由于某些原因,我必须使用正则表达式从 HTTP 响应正文中提取关键字。
关键字格式如下:
<HTML>
<HEAD> <TITLE>TestExample [Date]</TITLE></HEAD>
</HTML>
这里,Date 是一个动态变量,我需要从 HTTP 响应正文中提取“TestExample [Date]”。此外,<title> 可以是小写或大写。
假设“响应”具有 http 响应,我尝试执行以下操作:
>> response
=> "<HTML>\n<HEAD> <TITLE>TestExample [Date]</TITLE></HEAD>\n</HTML>"
然后做一个正则表达式来搜索:
>> regex
=> /<title>TestExample (.*?)<\/title>/mi
当我执行response[regex] 时,没有结果。 response.match(regex) 和 response.scan(regex) 没有结果。
我如何使用正则表达式来完成这项任务?
更新:
对于这个任务,这个正则表达式可以正常工作:
response.match(/<title>(.*)<\/title>/mi).captures.first
【问题讨论】:
-
我猜是错字,更新 "/title
/mi" 为 "/title>TestExample (.*?) /mi" -
我迷路了。为什么不能使用 nokogiri 获取
<title>的内容,然后用正则表达式搜索内容? -
@tlewin 是的,这是一个错字。感谢您的关注。我盯着屏幕看太久了。 :)
-
那些“某些人”不应该告诉你如何编写代码,因为他们的方法是错误的。
-
security related!?只需向他们展示此页面:stackoverflow.com/questions/1732348/…
标签: ruby regex html-parsing