プログラミングの記録

Who Wrote Holden Caulfield?

正規表現。縦棒、パイプ記号、|, Vertical Bar, Pipe Symbol (Ruby: Array, each, =~, ヒアドキュメント)

概要

複数の選択肢のどれかにマッチする正規表現を作成する。

例えばここでは、Mary, Jane を対象にする。

Ruby コード

vertical_bar_or_pipe_symbol1.rb

#!/usr/bin/env ruby


def re_v_b_or_p_s1_heredoc
  <<~EOL
  Mary and Jane went to Mary's house.
  Jane and Mary went to Jane's house.
  というテキストにマッチする正規表現。

  EOL
end

puts re_v_b_or_p_s1_heredoc


puts '-'*79


def re_v_b_or_p_s1
  re = /Mary|Jane/

  my_string_arry = ["Mary and Jane went to Mary's house.",
                    "Jane and Mary went to Jane's house."]

  my_string_arry.each do |my_str|
    if my_str =~ re
      puts "#{my_str}\nマッチしました。\n\n"
    else
      puts "#{my_str}\nマッチしませんでした。\n\n"
    end
  end
end

re_v_b_or_p_s1


# 注意: あまり実用的ではない。

出力

$ ruby vertical_bar_or_pipe_symbol1.rb
Mary and Jane went to Mary's house.
Jane and Mary went to Jane's house.
というテキストにマッチする正規表現。

-------------------------------------------------------------------------------
Mary and Jane went to Mary's house.
マッチしました。

Jane and Mary went to Jane's house.
マッチしました。

参考文献

正規表現クックブック

正規表現クックブック