RubyでPOSIX 文字クラスを利用して見やすい正規表現に
スポンサーリンク
POSIX 文字クラスと呼ばれるクラスを正規表現で利用できます。 これらのクラスは英字のみ、や英数字のみ、などの正規表現を名前付けして、わかりやすい正規表現にしたものらしいです。(参考:正規表現)
表現形式は、例えば、英字ならば[:alpha:]
のように、[:クラス名:]
で表されます。
例
# 英字 m = /[[:alpha:]]+/.match("absddc") # => #<MatchData "absddc"> m = /[[:alpha:]]+/.match("123") # => nil # ASCIIコード m = /[[:ascii:]]+/.match("absddc") # => #<MatchData "absddc"> m = /[[:ascii:]]+/.match("アスキー") # => nil # 全角空白と半角空白 m = /[[:blank:]]+/.match("ab sddc") # => #<MatchData " "> m = /[[:blank:]]+/.match("ab sddc") # => #<MatchData " ">