Создание регулярного выражения в Ruby при помощи Regexp.union

При использовании Regexp.union мы передаем те вещи, которые в итоге вернутся в виде Regexp-объекта с шаблоном (из тех самых переданных вещей).

Ниже приведены примеры работы с Regexp.union.

Прежде всего стоит отметить, что без аргументов вернется регулярное выражение - /(?!)/
Regexp.union

=> /(?!)/

Regexp.union('cat')

=> /cat/

Regexp.union('cat', 'doge', 'mouse')
=> /cat|doge|mouse/

Regexp.union(['cat', 'doge', 'mouse'])
=> /cat|doge|mouse/

Также мы можем добавить опций в наше регулярное выражение:

Regexp.union(/cat/, /mouse/i)
=> /(?-mix:cat)|(?i-mx:mouse)/