ruby - 正则表达式选择

标签 ruby regex

我有一个这样的字符串。

<p class='link'>try</p>bla bla</p>

我只想得到<p class='link'>try</p> 我试过了。
/<p class='link'>[^<\/p>]+<\/p>/

但它不起作用。

我该怎么做? 谢谢,

最佳答案

如果这是您的字符串,并且您想要那些 p 之间的文本标签,那么这应该可以工作...

/<p\sclass='link'>(.*?)<\/p>/

你的不工作的原因是因为你正在添加 <\/p>到你的非字符范围。它不是字面匹配,而是单独检查每个字符。

当然,我必须提到有更好的工具来解析 HTML 片段(例如 HTML 解析器。)

关于ruby - 正则表达式选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4851174/

相关文章:

ruby-on-rails - Shoulda/RSpec 匹配器 - 条件验证

javascript - CoffeeScript 基于两个条件的分割函数

php - 尝试将正则表达式匹配传递给函数时出错

java - 替换字符串中 a-z 0-9 和 , 旁边的所有字符

ruby-on-rails - 为什么我会收到错误 `undefined method ' map'`?

ruby - 在 Nokogiri 节点集中按类别搜索

ruby - 是否有 Clojure 等效于 Ruby 的 #tap 方法

ruby-on-rails - ruby:使用 Regexp.union(数组)时添加 boundaries\b 选项?

regex - 如何从 bash 中的字符串中提取值?

php - 使用正则表达式删除字符串的一部分