提取出现在多个实例中的两个字符之间的文本



我在"Bill Warner (abc Ltd.)" <bill@abc.com>, "Paula Warner" <paula@abc.com>等变量中有一个电子邮件字符串

我想创建一个数组来提取每个电子邮件并返回[";bill@abc.com&"paula@abc.com"]

我找到了一种使用自定义功能进行提取的方法:

def string_between_markers marker1, marker2
self[/#{Regexp.escape(marker1)}(.*?)#{Regexp.escape(marker2)}/m, 1]
end

唯一的问题是,这只起作用一次。请问提取每个电子邮件地址的正确方法是什么?

我使用了以下内容,它有效:

.scan(/<(.*)>/).flatten

最新更新