[正規表現] 半角文字のみ取得 と 全角文字のみ取得
大前提
[^ -~。-゚]
こちらの正規表現を使用すれば「全角文字のみ」取得できると思います。
・「タブ」が引っかかって欲しくない場合には[^ -~。-゚\t]
[ -~。-゚]
こちらの正規表現を使用すれば「半角文字のみ」取得できると思います。
-------
取得はできたけど理由が分からなかった・・・
ということで、何してるか調べてみることに。
全角文字のみ取得したくて検索してみた所
[^ -~。-゚]
こちらの正規表現が多数出てきました。
実際に使ってみたらそれっぽい動きをしていたので満足しているのですが
なんで動いているのかを調べてみました。
まずは
[^] 「[^ -~。-゚]」
この記号
こちらを[]の中にいれて実行すると「否定」する事になります。
今回の[^ -~。-゚]の場合にも使っていますが、
[ -~。-゚]こちらのように先頭の[^]記号を抜くと半角文字のみ取得できる正規
表現になります。
全角のみ取得したかったので否定をつけて実行している事になります。
(全角文字を取得!というよりは、半角文字以外を取得という意味あいの正規
表現みたいです)
次に
[ -~] 「[^ -~。-゚]」
こちらの意味
こちらは半角記号と半角英数字を取得しています。
http://e-words.jp/p/r-ascii.html
こちらのページを参考にさせてもらいました。
半角スペース(U+0020)~半角チルダ(U+007E)までを取得しています。
(U+0020)とかについては表の16進数の値と比べてみてください。
ラストに
[。-゚] 「[ -~。-゚]」
こちらの意味
こちらは半角記号と半角カタカナについて取得しています。
簡単に見れる表のようなページがなかったので色々と調べてみた結果、
16進数 記号
U+FF61 。
U+FF62 「
U+FF63 」
U+FF64 、
U+FF65 ・
U+FF66 ~ U+FF9D 半角カタカナについて
U+FF9E ゙
U+FF9F ゚
みたいです。
[^ -~。-゚] について書いてきたことすべてを合わせると
半角記号と半角英数字と半角カタカナ以外の文字を取得
という意味の正規表現になるという事でした。
以上。 まったく知らない所からまとめたので間違っているかも…。
一応自分が調べて覚えた内容についてでした。
[^ -~。-゚]
こちらの正規表現を使用すれば「全角文字のみ」取得できると思います。
・「タブ」が引っかかって欲しくない場合には[^ -~。-゚\t]
[ -~。-゚]
こちらの正規表現を使用すれば「半角文字のみ」取得できると思います。
-------
取得はできたけど理由が分からなかった・・・
ということで、何してるか調べてみることに。
全角文字のみ取得したくて検索してみた所
[^ -~。-゚]
こちらの正規表現が多数出てきました。
実際に使ってみたらそれっぽい動きをしていたので満足しているのですが
なんで動いているのかを調べてみました。
まずは
[^] 「[^ -~。-゚]」
この記号
こちらを[]の中にいれて実行すると「否定」する事になります。
今回の[^ -~。-゚]の場合にも使っていますが、
[ -~。-゚]こちらのように先頭の[^]記号を抜くと半角文字のみ取得できる正規
表現になります。
全角のみ取得したかったので否定をつけて実行している事になります。
(全角文字を取得!というよりは、半角文字以外を取得という意味あいの正規
表現みたいです)
次に
[ -~] 「[^ -~。-゚]」
こちらの意味
こちらは半角記号と半角英数字を取得しています。
http://e-words.jp/p/r-ascii.html
こちらのページを参考にさせてもらいました。
半角スペース(U+0020)~半角チルダ(U+007E)までを取得しています。
(U+0020)とかについては表の16進数の値と比べてみてください。
ラストに
[。-゚] 「[ -~。-゚]」
こちらの意味
こちらは半角記号と半角カタカナについて取得しています。
簡単に見れる表のようなページがなかったので色々と調べてみた結果、
16進数 記号
U+FF61 。
U+FF62 「
U+FF63 」
U+FF64 、
U+FF65 ・
U+FF66 ~ U+FF9D 半角カタカナについて
U+FF9E ゙
U+FF9F ゚
みたいです。
[^ -~。-゚] について書いてきたことすべてを合わせると
半角記号と半角英数字と半角カタカナ以外の文字を取得
という意味の正規表現になるという事でした。
以上。 まったく知らない所からまとめたので間違っているかも…。
一応自分が調べて覚えた内容についてでした。
スポンサーサイト