LANG SELRCT

コードを書く場所についてはこちら

2018年1月28日日曜日

正規表現で文章から半角記号を抜き出したい /[!-\/:-@[-`{-~]+/g


文字列の中から半角記号を取得したくて調べて書いたコードです

今回書いた半角記号だけを抜き出す正規表現

/[!-\/:-@[-`{-~]+/g



コード.gs
function get_symbols(){
  var str = "abcABC123!bcABC123?かなカナカナ仮名!ひらがなカタカナカタカナ漢字?⼀市ヶ谷代々木";
  var pattern = /[!-\/:-@[-`{-~]+/g;
  var result = str.match(pattern);
  Logger.log(result);
}
意訳
この機能がやること
探索対象の文字列を用意しておく
半角記号のパターン
一致するものを探して
ログに出す







[!-\/:-@[-`{-~] の内訳は?


Controls and Basic Latin の中で
記号(以下のハイライトした範囲)を指定しています
!から/
:から@
[から`
{から~

!から/ は 素直に書くと !-/ ですが
/ はそのまま書くと正規表現を閉じてしまいます
\ (後に続く文字が特別な意味を保つ場合にそれを無効にするエスケープ記号)を書くことで文字列の / としています


参考

Unicode 10.0 Character Code Charts
http://www.unicode.org/charts/

Controls and Basic Latin
http://www.unicode.org/charts/PDF/U0000.pdf