短縮したIPv6アドレス
短縮したIPv6アドレスに一致します。前後が固定されているので文字列全体が合う必要があります。取り出すグループは4個です。
式
/^([0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4})*)?::([0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4})*)?$/- 一致の範囲
- 文字列全体
- 取り出すグループ
- 4
- 最初の例で取れる部分
- ::1
試してみる
好きな文を入れると、この式が取る部分に印が付きます。ブラウザの中だけで動き、どこにも送られません。
::1
1か所に一致
合う例
- ::1
- fe80::
- 2001:db8::1
合わない例
- 192.168.0.1
- 2001:db8:0:0:0:0:0:1
- hello
同じ組の別の式
読み方
- 前後に ^ と $ があれば文字列全体が合う必要があります。なければ文中のどこでも構いません。入力検査に使う式には必ず付けてください。
- かっこ ( ) は中身を取り出します。まとめるだけでよいときは (?: ) と書けば、後ろのグループ番号がずれません。
- ここに載せた式はすべて例と突き合わせて検査しています。ただし「メールの形をしている」ことと「実在する宛先」であることは別の話です。
- 終わりの決まっていない繰り返しが入れ子になると((a+)+ など)、入力によって時間が爆発することがあります。他人の式を貼る前にこの形を探してください。
よくある質問
Q. 短縮したIPv6アドレスに一致する正規表現は。
^([0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4})*)?::([0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4})*)?$ です。
Q. どんな文字列が合いますか。
::1 のような文字列は合い、192.168.0.1 のような文字列は合いません。
Q. 文字列全体が合う必要がありますか。
はい。^ と $ で囲まれているので、全体が合わないと通りません。
Q. 取り出した値はどう使いますか。
取り出すグループが4個あるので、match[1] から順に読めます。