正規表現による URLの検出
このページのタグ:[正規表現] [正規表現サンプル]
正規表現でURLを検出するパターンは
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
となります。


または、
(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)
上記のパターンではftpのURLも検出できます。

解説

  • () はグループ化を表します。グループ化されたパターンは一文字とみなされます。(AB)+は AB,ABAB,ABABAB...を表します。
  • \w は英数字と下線(アルファベット、数字、下線)を表します。[0-9A-Za-z_] と同じ意味になります。
  • + は直前の文字の1回以上の繰り返しを意味します
  • []はグループを表します。括弧内で指定した文字のいずれかとなります。[-+.']は"-"か"+"か"."か"'"のどれかという意味になります。
  • * は直前の文字の0回以上の繰り返しを意味します。
  • \. は"."の文字を表します。\を除いた"."は任意の一文字を示す意味になるためです。
  • |(縦棒)は(A|B)と記述し、AまたはBのパターンの意味を持ちます。
  • ? は直前の文字が1つもしくは無いという意味です。

コード例(C#)

private void button1_Click(object sender, EventArgs e)
{
  Regex reg = new Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
  Match match = reg.Match(textBox1.Text);

  if (match.Success == true) {
    textBox2.Text = "マッチしました。";
  }
  else {
    textBox2.Text = "マッチしませんでした。";
  }
}
登録日 :2011-02-03    最終更新日 :2014-02-25
このページのタグ:[正規表現] [正規表現サンプル]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd.