2017-06-01 10 views
0

ゼロの間にネストされたコードブロックを得る正規表現が必要です。0の間にネストされた文字列からのデータブロックの抽出

私が持っている場合たとえば:

0000000000000000000000000000000000000000089504E470D0A1A0A0000000D49484452000002A10000013D0802000000B48C2CAC000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA864000006DE49444154785EEDDBD191DB380C00D0F4937AD24FEAD97AB69F3B8BA42412046DED8D27EB9CDFFB330502909401ED4CF2030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

を私は返すように正規表現を必要とする:

89504E470D0A1A0A00000000D49484452000002A10000013D0 802000000B48C2CAC000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA864000006DE49444154785EEDDBD191DB380C00D0F4937AD24FEAD97AB69F3B8BA42412046DED8D27EB9CDFFB330502909401ED4CF203

それはコードのブロックの間にゼロが存在するギャップを残ししかし、私は([A-F 1-9])+を試みました。私は正規表現には新しく、上記の正規表現は間にゼロを捕捉しないことを知っているが、そこから続ける方法がわからない。

これはすべての16進データです。

+0

あなたがこのパターンを何の言語を実行しているのでしょうか? – mickmackusa

+0

@mickmackusa Java –

答えて

1

あなたは近かったが、あなたは0を除外するために中央の文字を望んでいない:

[A-F1-9][A-Z\d]+[A-Z1-9] 
+0

これはJavaScriptで動作しますが、Javaで問題が発生しています。それをJava正規表現に変換する簡単な方法はありますか? –

+0

私はそれをオンラインのJava Regexテスターでテストしました。おそらく問題は文字列に(文字通り)バックスラッシュを入れていることでしょうか?代わりに '\ d'を' 0-9'に置き換えることができます。 – NetMage

+0

私は問題を見つけ出しました、ありがとう!私は\ dを\\ dに置き換えたばかりです –

関連する問題