プログラミングの記録

Who Wrote Holden Caulfield?

Ruby

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

概要 ダブルクォート (") で囲まれた文字列にマッチする正規表現を作成する。 例えば、re = /"[^"]*"/ などと記述する。 /"[^"]*"/ の両端のダブルクォートは、文字列の先頭と末尾のダブルクォートにマッチする。 [^"]のダブルクォートは、ダブルクォート以…

正規表現。エスケープ。バックスラッシュ。\\ (Ruby: each, =~)

概要 通常ではメタ文字と解釈される文字をエスケープさせ、マッチする正規表現を作成する。 ここでは、() をエスケープさせる。 re = /\(\)/ などと記述する。 Ruby コード re_escape1.rb #!/usr/bin/env ruby def re_escape1_heredoc <<~EOL エスケープ 通…

正規表現。量指定子。繰り返しメタ文字。*, star, スター、asterisk, アスタリスク、アステリスク (Ruby: each, =~)

概要 * の直前の要素の 0 回以上の繰り返しの正規表現を作成する。 マッチ試行の上限は無制限で、必須ではない (いくつでもいい)。 Ruby コード re_star1.rb #!/usr/bin/env ruby def re_star1_heredoc <<~EOL 量指定子 メタ文字 *, star, スター、asterisk,…

正規表現。量指定子。繰り返しメタ文字。+, plus, プラス。(Ruby: each, =~)

概要 + で直前の要素の 1 回以上の繰り返しの正規表現を作成する。 マッチ試行の上限は無制限だが、少なくとも、1 回はマッチしなければ不成功となる。 Ruby コード re_plus1.rb #!/usr/bin/env ruby def re_plus1_heredoc <<~EOL 量指定子 メタ文字 +, plus…

正規表現。量指定子 オプション。疑問符、クエスチョンマーク、 ? (Ruby: each, =~)

概要 量指定子: オプションの疑問符の前の文字 (例: colou?r の u) は、 正規表現のその位置に現れることが認められているが、 その文字がそこになかったとしてもマッチは成功したとみなされる。 (例: color でも colour でもマッチするということ) ここでは…

正規表現。大文字と小文字を区別しない。キャレット、()、縦棒 (パイプ)、スペース。(Ruby: each, =~, 正規表現 オプション i)

概要 キャレット、()、縦棒 (パイプ) を使用して正規表現を作成する。 例えばここでは、(行頭の次に)「From」か「Subject」か「Date」があり、 続いて「: 」があり、 大文字と小文字の違いも無視してマッチする正規表現 (Ruby では オプションの i を使用す…

正規表現。文字クラス、メタ文字、ドット (またはポイント)。 (Regular Expressions: dot, ., Ruby: each, =~)

概要 メタ文字の ドット . を使用して正規表現を作成する。 ここでは、 2018/05/07 等にマッチする正規表現 (数値ではない)。 Ruby コード re_dot1.rb #!/usr/bin/env ruby def re_dot1_heredoc <<~EOL 文字クラス。 メタ文字。 ドット (またポイント)。 リ…

正規表現。否定文字クラス (Negated Character Classes)。キャレット (Regular Expressions: caret, ^, Ruby: each, =~)

概要 否定文字クラスの キャレット ^ を使用して正規表現を作成する。 ここでは、1-6 までの数字以外にマッチする正規表現 (数値ではない)。 Ruby コード re_caret1.rb #!/usr/bin/env ruby def re_caret1_heredoc <<~EOL 否定文字クラス リストに含まれてい…

正規表現。HTMLタグを対象にする。文字クラス、メタ文字、ダッシュ。 (Regular Expressions: [], -, Ruby: each, =~)

概要 文字クラスと文字メタ文字の '-' (ダッシュ) を使用して正規表現を作成する。 ここでは、<h1> から <h6> までの HTML タグを対象にする。 Ruby コード re_charclasses_dash1.rb #!/usr/bin/env ruby def re_cc_d1_heredoc <<~EOL 文字クラスと文字メタ文字の '-</h6></h1>…

正規表現。縦棒、パイプ記号、|, 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 …

正規表現。単語境界、非単語境界。\b, \B, Word Boundaries (Ruby: Array, each, =~, ヒアドキュメント)

概要 単語単体へマッチする正規表現を作成する。 単語境界、非単語境界。 ここでは例えば、英単語 cat を対象とする。 Ruby コード re_word_boundaries1.rb #!/usr/bin/env ruby def re_w_bound1_heredoc <<~EOL My cat is brown. の cat にはマッチし、cate…

正規表現。[], 文字クラス。(Ruby: =~, Array, each, ヒアドキュメント)

概要 多くの文字のどれかにマッチする正規表現を作成する。 ここでは、英単語の calendar を対象にする。 Ruby コード re_character_classes1.rb #!/usr/bin/env ruby def re_c_c1_heredoc <<~EOL 多くの文字のどれかに対するマッチ。 calendar のミススペル…