「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 正規表現を使用して、裸の URL を含む URL を検出するにはどうすればよいですか?

正規表現を使用して、裸の URL を含む URL を検出するにはどうすればよいですか?

2024 年 12 月 20 日に公開
ブラウズ:295

How Can I Use Regular Expressions to Detect URLs, Including Naked URLs?

正規表現を使用した URL の検出

現在のコードは、「http://」プレフィックスのない裸の URL と一致しません。これに対処するには、包括的な正規表現の採用を検討してください:

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

この拡張された式には次の機能が含まれています:

  • URL が "http://"、" のいずれかで始まるようにします。 https://"、または何も指定しません。
  • オプションのプレフィックスとして「(www.)」を含めることでサブドメインを許可します。
  • 最大のドメイン名をサポートします。長さは 256 文字、トップレベル ドメインは最大 6 文字です。

一致に HTTP プロトコルが必要ない場合は、別の表現を使用できます:

[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

これらの式の機能をデモンストレーションするには、http://regexr.com?37i6s にあるオンライン テスト ツール (最初の式について) をチェックするか、 http://regexr.com/3e6m0 (制限の少ない表現の場合)。

より包括的な正規表現を使用した JavaScript 実装の例を次に示します。

const expression = /[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3