私はこのサイトで非常に素晴らしいURL正規表現matcherを見つけました:http://daringfireball.net/2010/07/improved_regex_for_matching_urls。それは自由に使用することができ、クロス・ランゲージ互換(Javascriptを含む)であることが記載されています。まず、スラッシュの一部をエスケープしてコンパイルする必要があります。私はそれを行うときRuby.com(一般的には正規表現をテストする)でうまくいきます。奇妙な副作用で5つのフィールドがあります.1つはurl、4つは空です。これをJSに入れると、「無効なグループ」というエラーが表示されます。違いがあればNode.jsを使っていますが、そのエラーを理解できたらいいと思います。私は不必要な空のマッチフィールドを元に戻したいが、私はこの獣の診断をどこで始めるべきか分からない。これは私がエスケープした後に持っていたものです。"ユニバーサル"正規表現Javascriptの互換性を助ける
(?xi)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))