概要
y_yagiさんのrails commit log流し読みを読んでいてわからなかったこと調べてみました
わからなかったこと
- POSIX文字クラス
POSIX文字クラス
github.com
の :word:
という記述を初めてみました
Unicodeプロパティと 似た機能を持つ記法として、POSIX 文字クラスと呼ばれるものがあります。 これらは上の省略記法とは異なり、文字クラスの中でしか用いることが できません。これらは [:クラス名:] という記法を持ちます。 また、[:^クラス名:]という記法でその否定を意味します。 以下の括弧では実際にどの文字にマッチするかが Unicode プロパティや Unicode コードポイントで示されています。
引用:https://docs.ruby-lang.org/ja/latest/doc/spec=2fregexp.html
種類は以下のものがあります
文字 | 説明 |
---|---|
[:alnum:] | 英数字 |
[:alpha:] | 英字 |
[:ascii:] | ASCIIに含まれる文字 (0000 - 007F) |
[:blank:] | スペースとタブ |
[:cntrl:] | 制御文字 |
[:digit:] | 数字 (Decimal_Number) |
[:graph:] | 空白以外の表示可能な文字(つまり空白文字、制御文字、以外) |
[:lower:] | 小文字 |
[:print:] | 表示可能な文字(空白を含む) |
[:punct:] | 句読点 |
[:space:] | 空白、改行、復帰 |
[:upper:] | 大文字 |
[:xdigit:] | 16進表記で使える文字 |
[:word:] | 単語構成文字 |
Rubyのバージョンによって挙動が変わったりすることもあるみたいです qiita.com