整数値の検索

これまでの正規表現の応用として、「整数値」を取得する正規表現を考える。 以下で検索対象とするテキストは

text ="2 3 5 7 11 13 17 19 23 29 31 59 103 107 109 113"

とする。

すべての数値を取得する

使用する正規表現は \d+ (注:バックスラッシュは円記号で代用する.)

string text = "2 3 5 7 11 13 17 19 23 29 31 59 103 107 109 113";
string pattern = @"\d+";
var matches = Regex.Matches(text, pattern);
foreach (Match item in matches)
{
    Console.WriteLine(item.Value);
}
実行結果.
2
3
5
7
11
13
17
19
23
29
31
59
103
107
109
113

1桁の数値だけを取り出す

使用する正規表現は \b\d\b (注:バックスラッシュは円記号で代用する.)

string text = "2 3 5 7 11 13 17 19 23 29 31 59 103 107 109 113";
string pattern = @"\b\d\b"; // 変更したのはここだけ。
var matches = Regex.Matches(text, pattern);
foreach (Match item in matches)
{
    Console.WriteLine(item.Value);
}

実行結果.
2
3
5
7

10以上20未満の数値だけを取り出す

使用する正規表現は \b([0-9]|1[0-9])\b (注:バックスラッシュは円記号で代用する.)

string text = "2 3 5 7 11 13 17 19 23 29 31 59 103 107 109 113";
string pattern = @"\b([0-9]|1[0-9])\b"; // 変更したのはここだけ。
var matches = Regex.Matches(text, pattern);
foreach (Match item in matches)
{
    Console.WriteLine(item.Value);
}

実行結果.
2
3
5
7
11
13
17
19