トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

3-5 IPの前ゼロを削除

正規表現パズル

IPアドレスの前ゼロを削除する。

置換前


置換後


対象データ

0.0.001.00
000.000.025.205
001.01.1.0
100.10.01.010
127.20.002.1
192.168.02.100


正規表現

(?:^|(?<=\.))0+([0-9]+)
を
\1
に置換

別解
(?:^|(?<=\.))0+(?=[0-9])
を削除


解説

バックトラックを使ってます。

別解のように、
先読みを使って、+によってマッチする量に制限をかけてもいいです。

Oracle10gでの方法
OracleSQLパズル 10-88 IPの前ゼロを削除

正規表現の問題集2 (応用編)