私はこの表現が[c1-c2]
orで使用されたときに何をするかを理解しようとしています。sed
grep
grep -E "[c1-c2]"
これは1-9とa、b、cと一致します。私が理解したのは、ASCIIテーブルの1とcの間の文字と一致する必要があります。
ベストアンサー1
[c1-c2]
は角かっこ表現。指定された形式では、文字「c」、「1」、および「c」(含む)と文字「2」の間の文字範囲と一致します。文字範囲はロケールによって異なります。POSIX ロケールでは、49(「1」のコード)と99(「c」のコード)の間のASCIIコードで構成される文字セットです。したがって:
$ echo : | LANG=C grep -E '[c1-c2]'
:
$ echo 0 | LANG=C grep -E '[c1-c2]'
$ echo A | LANG=C grep -E '[c1-c2]'
A
私は意図がそうであるc1
と思ってc2
関心の範囲を制限する単一の文字を表すので、[a-m]
代わりにそのようなものを書くことになります[c1-c2]
。