从字符串"Fabulous two, three, or six night Stay For Two With Meals"中,我想捕捉在单词“night”之前说5个单词。
在这个例子中,我想得到['Fabulous', 'two', 'three', 'or', 'six']
我当前使用的s.scan(/(?:\w+)/)返回标记化数组:
["fabulous", "two", "three", "or", "six", "night", "Stay", "For", "Two", "With", "Meals"]
然后我在索引中找到“夜”这个词。不过,我想知道regexp是否也能完成这一步。

最佳答案

只需在你的扫描中添加一个正面展望,以确保“夜晚”一词如下:

s.scan(/(?:\w+)(?=.*night)/)

#=> ["Fabulous", "two", "three", "or", "six"]

关于ruby - 如何在正则表达式中的某个单词之前捕获几个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8924322/

10-13 07:13