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桁) |
@"^[!-~]*$" | 半角英数、半角記号に一致(ブランクも可) |