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