How can I match a string against multiple patterns using regular expression in ruby.
I am trying to see if a string is included in an array of prefixes, This is not working but I think it demonstrates at least what I am trying to do.
# example:
# prefixes.include?("Mrs. Kirsten Hess")
prefixes.include?(name) # should return true / false
prefixes = [
/Ms.?/i,
/Miss/i,
/Mrs.?/i,
/Mr.?/i,
/Master/i,
/Rev.?/i,
/Reverend/i,
/Fr.?/i,
/Father/i,
/Dr.?/i,
/Doctor/i,
/Atty.?/i,
/Attorney/i,
/Prof.?/i,
/Professor/i,
/Hon.?/i,
/Honorable/i,
/Pres.?/i,
/President/i,
/Gov.?/i,
/Governor/i,
/Coach/i,
/Ofc.?/i,
/Officer/i,
/Msgr.?/i,
/Monsignor/i,
/Sr.?/i,
/Sister.?/i,
/Br.?/i,
/Brother/i,
/Supt.?/i,
/Superintendent/i,
/Rep.?/i,
/Representative/i,
/Sen.?/i,
/Senator/i,
/Amb.?/i,
/Ambassador/i,
/Treas.?/i,
/Treasurer/i,
/Sec.?/i,
/Secretary/i,
/Pvt.?/i,
/Private/i,
/Cpl.?/i,
/Corporal/i,
/Sgt.?/i,
/Sargent/i,
/Adm.?/i,
/Administrative/i,
/Maj.?/i,
/Major/i,
/Capt.?/i,
/Captain/i,
/Cmdr.?/i,
/Commander/i,
/Lt.?/i,
/Lieutenant/i,
/^Lt Col.?$/i,
/^Lieutenant Col$/i,
/Col.?/i,
/Colonel/i,
/Gen.?/i,
/General/i
]
See Question&Answers more detail:
os