4

これら2つは同等ですか?[0-9a-fA-F][0-9a-f-A-F]

私はいくつかのテキストで egrep を使ってこれら 2 つの正規表現を試してきましたが、それらは同等のようです。同じ結果が返されない場合はありますか?

また、2 番目の表現では、2 番目の意味は何-ですか? なぜそれが必要なのですか? これらの単純な例に少し混乱しています。

4

3 に答える 3

12

2 番目の式もダッシュと 16 進数に一致します

で編集egrepます。これは、2番目のものを使用しているもので、実際には無効です:

# echo "12345678" | egrep '^[0-9a-f-A-F]+$'
egrep: Invalid range end

2 番目の正しい表現は、ダッシュで終わることです。

[0-9a-fA-F-]
于 2012-05-10T09:43:46.567 に答える
8

いいえ、これら 2 つの正規表現は等しくありません。2番目のものでは、文字「-」を追加します

于 2012-05-10T09:43:04.943 に答える
3

[0-9a-f-A-F]= [0-9a-fA-F]+-

于 2012-05-10T09:44:19.780 に答える