この正規表現の意味を理解する必要がありますか?
"^[A-Z]{3}-[4-7]\d{2,4}\$$"
正確に3文字で始まり、2、3、または4桁で終わると思います(二重の$-singsについてもわかりません)。
しかし、私はこれが何を意味するのか理解できません:
-[4-7]
また、末尾に $ が 2 つある理由もわかりません...
ありがとう
この正規表現の意味を理解する必要がありますか?
"^[A-Z]{3}-[4-7]\d{2,4}\$$"
正確に3文字で始まり、2、3、または4桁で終わると思います(二重の$-singsについてもわかりません)。
しかし、私はこれが何を意味するのか理解できません:
-[4-7]
また、末尾に $ が 2 つある理由もわかりません...
ありがとう
^
文字列の開始[A-Z]{3}
AからZまでの文字を3回繰り返す-
キャラクター-
[4-7]
4 から 7 までの数字\d{2,4}
0 から 9 までの任意の数字を 2 から 4 回繰り返す\$
キャラクター$
$
文字列の終わりregex101.comにアクセスして、そこに正規表現を貼り付けます...説明が表示されます。これにより、ブラウザ内で正規表現をテストすることもできます。
人に魚を与えると、その人を一日養うことができます。人に釣りを教えれば一生食べられる
正規表現
/"^[A-Z]{3}-[4-7]\d{2,4}\$$"/
説明
" Literal "
^ Start of string
Char class [A-Z] 3 times [greedy] matches:
A-Z A character range between Literal A and Literal Z
- Literal -
Char class [4-7] matches:
4-7 A character range between Literal 4 and Literal 7
\d 2 to 4 times [greedy] Digit [0-9]
\$ Literal $
$ End of string
" Literal "
見える化!
また、これは正規表現 (RegExp) ではありません。それは単なる文字列です。
RegExpにしたい場合:
var re = new RegExp("^[A-Z]{3}-[4-7]\\d{2,4}\\$$");
あるいは単に
var re = /^[A-Z]{3}-[4-7]\d{2,4}\$$/;
-[4-7]
は、文字の後に 、、および-
のいずれかが続くことを意味します。4
5
6
7
1 つ目$
はエスケープされているため$
、入力で a を示しますが、2 つ目$
はエスケープされておらず、文字列の末尾を示しています。
-
: これは文字通りマイナス-
文字です。
[4-7]
: 4、5、6、または 7 のいずれかの 1 桁の数字。
\$
は単なるエスケープ$
記号であるため、「文字列の終わり」としてではなく、テキストとして解釈されます。