Regexp

class Regexp (Ruby 2.5.0)

正規表現 (Ruby 2.5.0)

正規表現リテラル – リテラル (Ruby 2.5.0)

=~ 演算子

str =~ regexp

=~ 演算子は、文字列 str に対して正規表現 regexp とのパターンマッチを行います。マッチしたときは、マッチした部分の位置を整数で返します。マッチしなかったら、nil を返します。

右辺に Regexp 以外のオブジェクトを指定すると false が返ります。ただし、右辺に文字列を指定したときは、例外 TypeError が発生します。

=~ でマッチに成功したときは、組み込み変数 $&、$1、$2 などに値がセットされます。

参考:

instance method Regexp#=~ (Ruby 2.5.0)

=~ (String) – Rubyリファレンス

match

参考:

instance method Regexp#match (Ruby 2.5.0)

instance method String#match (Ruby 2.5.0)

match (String) – Rubyリファレンス

gsub/gsub!

str.gsub(pattern, replacement)

参考:

gsub, gsub! (String) – Rubyリファレンス

grep

参考:

instance method Enumerable#grep (Ruby 2.5.0)

scan

参考:

instance method String#scan (Ruby 2.5.0)

scan (String) – Rubyリファレンス

使い方

参考:

Ruby 正規表現の使い方 – Qiita

Ruby における正規表現の使い方 – tech-dig

メタ文字

参考:

正規表現: 文字クラス [ ] 内でエスケープしなくてもよい記号 | TechRacho

特殊変数

パターンマッチしたときに、以下の特殊変数にマッチの情報をセットします。

  • $~ 最後にマッチしたときの情報(MatchData オブジェクト)
  • $& マッチしたテキスト全体
  • $` マッチしたテキストの手前の文字列
  • $' マッチしたテキストの後ろの文字列
  • $1, $2, … キャプチャ文字列
  • $+ 最後(末尾)のキャプチャ文字列

これらの変数はスレッドローカルかつメソッドでローカルな変数です。

参考:

正規表現 (Ruby 2.5.0)

先読み/後読み

参考:

正規表現の先読み・後読み(look ahead、look behind)を活用しよう | TechRacho

先読みを使ったパターン – 先読み – Ruby正規表現の使い方 | RubyLife

正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) – satosystemsの日記

正規表現の先読み/後読みを「絞り込み」と理解してみる – Qiita

正規表現の先読み・後読みを極める! – あらびき日記

正規表現の先読みについて解説してみる – rubikitch

コラム 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。- Qiita

日本語

参考:

正規表現でユニコードの漢字・ひらがな・カタカナをマッチするには – 別館 子子子子子子(ねこのここねこ)

正規表現 Unicode文字プロパティについて | TechRacho

正規表現 Unicode文字プロパティについて Pの一族 | TechRacho

正規表現 Unicode文字プロパティについて 文字プロパティとは | TechRacho

Unicodeブロック/スクリプトを使うと日本語の正規表現に便利 – There’s an echo in my head

絵文字

参考:

rubyでunicode, UTF8を扱うためのTips – Qiita

Ruby で絵文字を含む文字列の長さをカウントしたい – Tech Inside Drecom

What is an example regex in ruby that will match any emojis? – Stack Overflow

How do I remove emoji from string – Stack Overflow

絵文字用の gem

参考:

ticky/ruby-emoji-regex: A pair of Ruby regular expressions for matching Unicode Emoji symbols – GitHub

janlelis/unicode-emoji: Emoji Regex in Ruby – GitHub

franklsf95/ruby-emoji-regex: A regular expression that matches all Unicode Emoji characters – GitHub

Unicode 文字プロパティ

参考:

Onigmo/UnicodeProps.txt at master · k-takata/Onigmo – GitHub

Unicode文字プロパティ | SlideShare

Tagged:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です