我有一组关键词,任何一个关键词都可能包含空格符['one', 'one two']
。我从这些关键词生成了一个正则表达式,如下:/\b(?i:one|one\ two|three)\b/
。以下是完整示例:
keywords = ['one', 'one two', 'three']
re = /\b(?i:#{ Regexp.union(keywords).source })\b/
text = 'Some word one and one two other word'
text.downcase.scan(re)
这段代码的结果是:
=> ["one", "one"]
如何找到第二个关键词
one two
的匹配项,并获得以下结果?=> ["one", "one two"]