前提
javascript正規表現で記号をマッチさせたいと考え調べていたところ
以下のサンプルコードに出会いました。
sample.js
1 2[!-/:-@[-`{-~] 3
自分の理解では
!-/ :-@ [-` {-~
と『4つの範囲指定を角括弧の中でしている』と予想しているのですが
これは認識として合っていますでしょうか。
検証方法としては以下のサイトを利用させていただきました。
https://www.softel.co.jp/labs/tools/regex/
マッチ対象文字列は以下として設定しました。
!"#$%&'()*,-./:;<>?@[]^_`{|}~
以下の正規表現指定を上から順番に試してみました。
[!-/] マッチ結果→ !"#$%&'()*,-./ [:-@] マッチ結果→ :;<>?@ [[-`] マッチ結果→ []^_` [{-~] マッチ結果→ {|}~
質問1
前述の理解が間違っている部分がありましたらご指摘いただければ嬉しいです。
質問2
範囲指定が4回行われていますが
この記号の順番がどのように決まっているのか
調べることができませんでした。
試しに[!-~]と指定してみたところ半角大文字、小文字、数字も
含めてマッチされましたので4つに分ける必要があることは理解できました。
しかしなぜ:-@なのかがわかりません。0−9やa-zは当然だと思いますが
同じように記号にも順番があるのでしょうか。
記号の順番などその分かれている基準が知りたいです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/03 10:32
2021/05/03 10:32