1

[xy] は x のアスキー コードから y のアスキー コードまでのすべての文字に一致すると思いました。したがって、[Az] は 65 から 122 までの任意の文字である必要があります。しかし、bash の grep は「無効な範囲」と言い、[aZ] はすべてのアルファベットに対して正しいものであり、ASCII コードでは 97 から 90 の範囲です。

そのような場合、grep で正確にどのように動作しますか? そして一般的に、[xy] は regexp の ascii コードとは何の関係もありませんか?

4

1 に答える 1

2

regex(5) は、実装について何も言いません。[a-Z]他の方法でも解釈できます(joeのコメントを参照)(122-65+1)= 58 != 26*2=>誰かが[a-Z]あなたが望む方法で実装した場合に含める他の文字があります。

とにかく、一番下の行は、grep では許可されておらず、regex(5) では強制されていません。

だからただ使う[a-zA-Z]

于 2012-04-13T19:11:08.740 に答える