我正在尝试使用 String.sub!在红宝石中,它的替代品太多了。
我正在使用的正则表达式。你可以看到它匹配太多:http ://rubular.com/r/IUav4KEFWH
<rb>.+<\/rb>
它从第一个到最后一个选择,我希望它只选择第一对。是否有另一个我不知道的 sub 版本,或者更好的 sub 方法
转多线并将它们放在单独的线上很容易,但我不想牺牲多线
它从第一个<rb>
标签一直匹配到最后一个</rb>
标签,因为+
它是一个贪心运算符,这意味着它将尽可能多地匹配,并且仍然允许正则表达式的其余部分匹配。
您想+?
用于非贪婪匹配,意思是“一个或多个 - 最好尽可能少”。
<rb>.+?</rb>
注意:建议使用从 HTML 中提取的解析器,而不是使用正则表达式。