【问题标题】:match substring of a source code in ruby匹配ruby中源代码的子字符串
【发布时间】:2011-10-14 15:58:19
【问题描述】:

我想在 ruby​​ 中隔离源代码的子字符串,但没有比这更好的了 http://rubular.com/r/ALngW9TOwy 我想在第一场比赛结束时停止比赛

<p>[...]/n</p>

我尝试了一些东西,但我不得不承认我不擅长正则表达式。我知道有很多方法,比如使用正则表达式或简单的正则表达式,但我迷路了。如果有人可以提供帮助,那就太好了! 非常感谢!

编辑:感谢 Mchl,我有解决方案。我把我的需要放在评论中,但这里会更好: 所以我用这个

match(/<p>(.*?)<\/p>/m)[1].strip

【问题讨论】:

标签: ruby regex substring


【解决方案1】:

不确定我是否理解正确,但在我看来,您需要“取消”*

&lt;p&gt;(.*?)&lt;\/p&gt;

【讨论】:

  • 是的,这是工作!但是,你能给我解释一下吗?我真的不明白为什么......它至少在网站上有效,irb 似乎不喜欢它
  • 我可以,但我更愿意推荐您访问这个出色的网站:regular-expressions.info/repeat.html - 请参阅名为“小心贪婪!”的段落!
  • 有趣,不知道你可以做出这样的.*非贪婪
  • 谢谢你,我会仔细阅读这个;) 我让 irb 可以接受这个 "match(/

    (.*?)/m)[1].strip "

【解决方案2】:

你应该尝试负前瞻

<p>((.(?!<\/p>))*.)<\/p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 2011-11-08
    相关资源
    最近更新 更多