[解決済み] DNSホスト名またはIPアドレスにマッチする正規表現?
2022-03-24 16:57:48
質問
誰か、合法的なDNSホスト名やIPアドレスにマッチするような正規表現をお持ちではないですか?
95%の確率で動作するものを書くのは簡単ですが、DNSホスト名に関する最新のRFC仕様に正確に一致するよう、よくテストされたものを希望しています。
どのように解決するのか?
以下の正規表現を個別に、または組み合わせて合同でOR表現として使用することができます。
ValidIpAddressRegex = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
ValidHostnameRegex = "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$";
ValidIpAddressRegex は有効なIPアドレスにマッチし ValidHostnameRegex 有効なホスト名です。使用する言語によっては、"escape "で "escape "しなければならない場合があります。
ValidHostnameRegex は以下のように有効です。 RFC 1123 . 元々 RFC 952 は、ホスト名のセグメントが数字で始まってはいけないと規定しています。
http://en.wikipedia.org/wiki/Hostname
の本来の仕様である でのホスト名 RFC 952 , は、ラベルの開始を禁止することを義務付けました。 数字またはハイフン、および ハイフンで終わらせてはならない。しかし その後の仕様( RFC 1123 ) は、ホスト名ラベルの開始を許可しています。 を数字で表す。
Valid952HostnameRegex = "^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$";
関連
-
[解決済み] 最初のマッチで停止する正規表現
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] 正規表現によるIPv4アドレスの検証
-
[解決済み] アドレスフィールド検証のための正規表現
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] 正規表現における非捕捉グループとは何ですか?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] 有効な正規表現を検出するための正規表現はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 正規表現です。+$ VS *$ VS なし
-
[解決済み] | の後をすべて削除する正規表現 (| と共に)
-
[解決済み] GNU sed の lookahead 正規表現がおかしいのですが?
-
[解決済み] RegEx: 引用符で囲まれた値を取得する
-
[解決済み] 標準的な10桁の電話番号にマッチする正規表現
-
[解決済み] Regex空の文字列または電子メール
-
[解決済み] 正規表現 - 文字列で始まり、文字列で終わる
-
[解決済み] Regexクレジットカード番号テスト
-
[解決済み] awk で gsub を使ってファイル中の ("./") と (".txt") の文字を検索・置換する方法
-
[解決済み】SafariでUIWebViewのリンクが開く