仮名(など)に対するUnicodeプロパティによるマッチ
Unicodeプロパティによる文字クラスがどうマッチするか、Ruby 2.3.1でやってみた。
コード
input_str.scan(regexp).join
結果
対象 | \X | (?>\p{Hiragana}\p{M}*) | (?>\p{Katakana}\p{M}*) | \p{In_Hiragana} | \p{In_Katakana} |
---|---|---|---|---|---|
が (\u304c ) | が | が |
| が |
|
か+合成濁点 (\u304b\u3099 ) | が | が |
| が |
|
か+単独濁点 (\u304b\u309b ) | か゛ | か |
| か゛ |
|
濁点付きの"う" (\u3094 ) | ゔ | ゔ |
| ゔ |
|
う+合成濁点 (\u3046\u3099 ) | ゔ | ゔ |
| ゔ |
|
う+単独濁点 (\u3046\u309b ) | う゛ | う |
| う゛ |
|
濁点付きの"ウ" (\u30f4 ) | ヴ |
| ヴ |
| ヴ |
ウ+合成濁点 (\u30a6\u3099 ) | ヴ |
| ヴ | ゙ | ウ |
ウ+合成濁点 (\u30a6\u309b ) | ウ゛ |
| ウ | ゛ | ウ |
長音記号 (\u30fc ) | ー |
|
|
| ー |
中黒 (\u30fb ) | ・ |
|
|
| ・ |
平仮名繰返し (\u309d\u309e ) | ゝゞ | ゝゞ |
| ゝゞ |
|
片仮名繰返し (\u30fd\u30fe ) | ヽヾ |
| ヽヾ |
| ヽヾ |
全角"!" (\uff01 ) | ! |
|
|
|
|
全角"(" (\uff08 ) | ( |
|
|
|
|
全角"0" (\uff10 ) | 0 |
|
|
|
|
全角"@" (\uff20 ) | @ |
|
|
|
|
全角"A" (\uff21 ) | A |
|
|
|
|
全角"\" (\uff3c ) | \ |
|
|
|
|
全角"~" (\uff5e ) | ~ |
|
|
|
|
半角中黒 (\uff65 ) | ・ |
|
|
|
|
半角長音記号 (\uff70 ) | ー |
|
|
|
|
半角"カ" (\uff76 ) | カ |
| カ |
|
|
半角"カ"+半角濁点 (\uff76\uff9e ) | ガ |
| カ |
|
|