見出し画像

【Flutter】正規表現で文字列からURLだけを取り出す

正規表現を用いて、文字列からURLだけを取り出して使う方法を紹介します。

正規表現を定義し、それに合う文字列の開始位置と終了位置をIterableで取得します。
あとは、その開始位置と終了位置を使って文字列を抽出することでURLが取得できます。

String _txt = 'Flutterラボをよろしくお願いいたします。https://flutterlabo.tech/';

// 正規表現
RegExp _regExp = RegExp(r'((https?:\/\/)|(https?:www\.)|(www\.))[a-zA-Z0-9-]{1,256}\.[a-zA-Z0-9]{2,6}(\/[a-zA-Z0-9亜-熙ぁ-んァ-ヶ()@:%_\+.~#?&\/=-]*)?');
Iterable<RegExpMatch> _matches = _regExp.allMatches(_txt);

for(RegExpMatch regExpMatch in _matches) {
  // URLを抽出
  print(_txt.substring(regExpMatch.start, regExpMatch.end);
}


この記事が気に入ったらサポートをしてみませんか?