Unicode空白文字にマッチ
Unicodeの空白文字がRuby 2.3.1の正規表現にどうマッチするかやってみた。
コード
regexp =~ input_str ? '○' : '×'
結果
対象 | \s | [[:space:]] | [[:blank:]] | \p{Blank} | [\s[:blank:]] | \p{White_Space} |
---|---|---|---|---|---|---|
HORIZONTAL TABULATION (\u0009 ) | ○ | ○ | ○ | ○ | ○ | ○ |
LINE FEED (\u000a ) | ○ | ○ | × | × | ○ | ○ |
VERTICAL TABULATION (\u000b ) | ○ | ○ | × | × | ○ | ○ |
FORM FEED (\u000c ) | ○ | ○ | × | × | ○ | ○ |
CARRIAGE RETURN (\u000d ) | ○ | ○ | × | × | ○ | ○ |
FILE SEPARATOR (\u001c ) | × | × | × | × | × | × |
GROUP SEPARATOR (\u001d ) | × | × | × | × | × | × |
RECORD SEPARATOR (\u001e ) | × | × | × | × | × | × |
UNIT SEPARATOR (\u001f ) | × | × | × | × | × | × |
SPACE (\u0020 ) | ○ | ○ | ○ | ○ | ○ | ○ |
NO-BREAK SPACE (\u00a0 ) | × | ○ | ○ | ○ | ○ | ○ |
OGHAM SPACE MARK (\u1680 ) | × | ○ | ○ | ○ | ○ | ○ |
MONGOLIAN VOWEL SEPARATOR (\u180e ) | × | × | × | × | × | × |
EN QUAD (\u2000 ) | × | ○ | ○ | ○ | ○ | ○ |
EM QUAD (\u2001 ) | × | ○ | ○ | ○ | ○ | ○ |
EN SPACE (\u2002 ) | × | ○ | ○ | ○ | ○ | ○ |
EM SPACE (\u2003 ) | × | ○ | ○ | ○ | ○ | ○ |
THREE-PER-EM SPACE (\u2004 ) | × | ○ | ○ | ○ | ○ | ○ |
FOUR-PER-EM SPACE (\u2005 ) | × | ○ | ○ | ○ | ○ | ○ |
SIX-PER-EM SPACE (\u2006 ) | × | ○ | ○ | ○ | ○ | ○ |
FIGURE SPACE (\u2007 ) | × | ○ | ○ | ○ | ○ | ○ |
PUNCTUATION SPACE (\u2008 ) | × | ○ | ○ | ○ | ○ | ○ |
THIN SPACE (\u2009 ) | × | ○ | ○ | ○ | ○ | ○ |
HAIR SPACE (\u200a ) | × | ○ | ○ | ○ | ○ | ○ |
ZERO WIDTH SPACE (\u200b ) | × | × | × | × | × | × |
NARROW NO-BREAK SPACE (\u202f ) | × | ○ | ○ | ○ | ○ | ○ |
MEDIUM MATHEMATICAL SPACE (\u205f ) | × | ○ | ○ | ○ | ○ | ○ |
IDEOGRAPHIC SPACE (\u3000 ) | × | ○ | ○ | ○ | ○ | ○ |
ZERO WIDTH NO-BREAK SPACE (\ufeff ) | × | × | × | × | × | × |