ここでUUID 正規表現に関する質問を既に見つけましたが、これらの表現では区切り記号の欠落が考慮されていません。
次の式を思いつきましたが、より最適な正規表現はありますか?
/\b([0-9a-f]{8}-?([0-9a-f]{4}-?){3}[0-9a-f]{12})\b/i
最適とは、より短い表現を意味すると想定しています。正規表現を次のように単純化しました。
/[\da-f]{8}-?([\da-f]{4}-?){3}[\da-f]{12}/i、ここで実際に見ることができます。
外側の括弧を削除し\bました。これは、それらがなくてもすべてが正しく一致していたためです。[0-9a-f]また、 に置き換えることで3 文字削ることができました[\da-f]。
私はもともと を持っていました[0-F]が、ASCII シーケンスを調べたところ、 が一致していることに気付きました。これには、一致さ
0123456789:;<=>?@ABCDEFせたくない余分な記号が含まれています。
結論として、私の表現はあなたの表現と同義ですが、9 文字少ないです。