rubyで正規表現を使用して文字列を複数のパターンと照合する方法を教えてください。複数のパターンと文字列を一致させる
文字列が接頭辞の配列に含まれているかどうかを確認しようとしていますが、これは機能しませんが、少なくとも私がしようとしていることを実証していると思います。
rubyで正規表現を使用して文字列を複数のパターンと照合する方法を教えてください。複数のパターンと文字列を一致させる
文字列が接頭辞の配列に含まれているかどうかを確認しようとしていますが、これは機能しませんが、少なくとも私がしようとしていることを実証していると思います。
使用Regexp.union
はそれらを結合する:
組合(pats_ary)→new_regexp
戻り与えパターンの労働組合である
Regexp
オブジェクトを、すなわち、一致しますその部品のいずれか。
これが行います。
re = Regexp.union(prefixes)
を、あなたがあなたの正規表現としてre
を使用します。
if name.match(re)
#...
単一の文字列を使用できる場合は、可能な値を含む正規表現を書くほうが速い場合があります。
/(Mr\.|Mrs\.| ...)/.match(name)
1ニース1。私はこれを使うつもりです。 – Kyle
@Kyle:ありがとう。 'Regexp.union'は大きな代数正規表現を手で構築しようとするよりもずっと使いやすくなります。 –
もう一度@muistooshortに感謝します! –