keywords = ['one', 'one two', 'three']
keywords = keywords.dup.sort.reverse
re = /\b(?i:#{ Regexp.union(keywords).source })\b/
text = 'Some word one and one two other word'
puts text.downcase.scan(re)
a2V5d29yZHMgPSBbJ29uZScsICdvbmUgdHdvJywgJ3RocmVlJ10Ka2V5d29yZHMgPSBrZXl3b3Jkcy5kdXAuc29ydC5yZXZlcnNlCnJlID0gL1xiKD9pOiN7IFJlZ2V4cC51bmlvbihrZXl3b3Jkcykuc291cmNlIH0pXGIvCnRleHQgPSAnU29tZSB3b3JkIG9uZSBhbmQgb25lIHR3byBvdGhlciB3b3JkJwpwdXRzIHRleHQuZG93bmNhc2Uuc2NhbihyZSk=