C# 正規表現
C#の正規表現です。
正規表現を使用したチェック
正規表現を使用すると、文字の形式を簡単にチェックする事が出来ます。
- 例)strが 郵便番号形式に合致するかチェックする
-
using System.Text.RegularExpressions; string str = "123-4567"; bool b = (Regex.IsMatch(str, @"^[0-9]{3}-[0-9]{4}$"));
正規表現パターン
| パターン | 意味 |
|---|---|
| \d | 数値(0~9)※全角も対象。 |
| \D | 数値以外 |
| \w | 英字、数字、記号 |
| \W | \w以外 |
| \t | タブ文字 |
| \r | CR |
| \n | LF |
| [<文字>] | <文字>のいずれかと一致。 [0-9]:0~9いずれかの1文字、 [abc]:a,b,cいずれか1文字 |
| [^<文字>] | <文字>以外のいずれかと一致。 [^0-9]:0~9いずれか以外の1文字、 [^abc]:a,b,cいずれか以外の1文字 |
| | | |で区切られたいずれかと一致 |
| ( ) | グループ化 |
| . | 任意の一文字 |
| * | 0回以上一致 |
| + | 1回以上一致 |
| ? | 0回または1回一致 |
| {n} | n回一致 |
| {n,} | n回以上一致 |
| {n, m} | n回以上m回以下一致 |
| ^ | 文字列の先頭で一致 |
| $ | 文字列の末尾で一致 |
正規表現の例
| パターン | 意味 |
|---|---|
| @"^\d+$" | 数値と一致(半角数値、全角数値問わす) |
| @"^[0-9]+$" | 数値と一致(半角数値のみ) |
| @"^[0-9a-zA-Z]*$" | 0文字以上の半角英数字と一致(ブランクも可) |
| @"^[0-9a-zA-Z]+$" | 1文字以上の半角英数字と一致(ブランクは不可) |
| @"^[0-9]{3}-[0-9]{4}$" | 郵便番号(半角数値3桁-半角数値4桁) |
| @"^[!-~]*$" | 半角英数、半角記号に一致(ブランクも可) |
