プログラミングの記録

Who Wrote Holden Caulfield?

正規表現。ダブルクォート文字列。" " (Ruby: each, =~)

概要

ダブルクォート (") で囲まれた文字列にマッチする正規表現を作成する。

例えば、re = /"[^"]*"/ などと記述する。

/"[^"]*"/ の両端のダブルクォートは、文字列の先頭と末尾のダブルクォートにマッチする。

[^"]のダブルクォートは、ダブルクォート以外のすべての文字にマッチする。

*でダブルクォート以外の文字の個数はいくつでもいいとする。

Ruby コード

re_double_quotes1.rb

#!/usr/bin/env ruby


def re_double_quotes1_heredoc
  <<~EOL
  ダブルクォート文字列
  ダブルクォート (" ") で囲まれた文字列にマッチする正規表現。

  EOL
end

puts re_double_quotes1_heredoc


puts '-'*79


def re_double_quotes1
  re = /"[^"]*"/

  my_string_arry = ['"aaa1"', 'aaa2', "aaa3", "'aaa4'", "\"aaa5\""]

  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_double_quotes1

出力

$ ruby re_double_quotes1.rb
ダブルクォート文字列
ダブルクォート (" ") で囲まれた文字列にマッチする正規表現。

-------------------------------------------------------------------------------
"aaa1"
マッチしました。

aaa2
マッチしませんでした。

aaa3
マッチしませんでした。

'aaa4'
マッチしませんでした。

"aaa5"
マッチしました。

参考文献

詳説 正規表現 第3版

詳説 正規表現 第3版

広告を非表示にする