ハイフンで区切られた2つの異なる16進数の4文字のグループを含む文字列に一致する正規表現を作成しようとしています。例えばこの式は、[OK]を作品複数のグループに一致する正規表現
00AA-10F2
14ED-7F09
1A20-A55Fを
、
[0-9A-F]{4}-[0-9A-F]{4}
が、達成するための、より簡潔な方法があります場合、私は思っていました同じこと。
違いがある場合は、C++ 11 std::regex
(現在はデフォルト/ ECMAScriptモード)を使用しています。
本当にありがとうございます。
ありがとう、
リッチ。
いいえ、 'std :: regex'以外の方法はありません。もちろん、[[0-9A-F] {4} 'を保持する変数を使ってパターンを動的に構築することもできますが、このパターンには意味がないと思います。 –
他の環境では、パターンの前半部分を再利用するために '([0-9A-F] {4}) - (?1)'のようなものを使うことができますが、これは 'std: Wiktorが言ったように:regex'なぜそれをもっと短くしたいのですか?私は興味がある。 –
文字列が同じ部分を持つ場合にキャプチャグループを使用できることがわかりました。 '([0-9A-F] {4}) - \ 1'は00AA-00AAと一致します。私は同じことが表現自体に当てはまるかどうかを知りたいだけでした。コメントしてくれてありがとう! –