正規表現で始まるかどうかに関係なく、URL を抽出するために re2/J を使用しています。かなり単純なパターンを使用していますが、
(?i)((https?://)?(([a-z0-9\\-]+[.])*([a-z0-9\\-]+[.][a-z]+/?)([^\\s()<>]*)))
ただし、最初と最後に \b を追加しても、あまり役に立ちません。メールの一部である URL とまだ一致しています。
email@ example.com からのexample.comも一致します。私が避けようとしている何か。@は単語以外の文字と見なされるため、\b はそれを単語の境界として扱います。
この問題に対する適切な代替ソリューションはありますか?
編集:
URL を html アンカー タグに置き換えようとしていることに注意してください。実際に一致を探しているわけではありません。パターンと、キャプチャされたグループの置換を指定する必要があります。