ホームページ > ウェブフロントエンド > jsチュートリアル > URL をより効果的に一致させるために正規表現を改善するにはどうすればよいですか?

URL をより効果的に一致させるために正規表現を改善するにはどうすればよいですか?

DDD
リリース: 2024-12-22 08:23:09
オリジナル
657 人が閲覧しました

How Can I Improve My Regular Expression to Match URLs More Effectively?

URL に一致する正規表現の改良

ユーザー入力から URL を検出して解析しようとする場合、効果的な正規表現を使用することが重要です。あなたの場合、現在の式は一部の URL 形式をキャプチャしますが、www.google.com.

改訂正規表現

この問題に対処し、包括的な URL 一致を保証するには、次の改訂された通常の URL の使用を検討してください。式:

^(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
ログイン後にコピー

正規表現の構造

  • アンカー: 文字列全体の一致の開始と終了を保証します。
  • プロトコル (オプション): キャプチャオプションの「http」または「https」プロトコル スキーム。
  • Domain: サブドメインとトップレベル ドメインを含むドメイン名と一致します。
  • Port: オプションのポート番号を取得します (例: ":8080").
  • Path: ドメインの後のパス情報をキャプチャします (例: "/index.html")。
  • Query: クエリ文字列パラメータを取得します (例: "?name=John").
  • Fragment: フラグメント識別子 (例: "#footer") をキャプチャします。
この改訂された正規表現は以下です制限的であり、www.google.com のような URL や、明示的なプロトコルを持つ URL (例: http://www.stackoverflow.com).

実装例 (JavaScript)

以上がURL をより効果的に一致させるために正規表現を改善するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート