前に、文字列にaからzまでの文字が含まれているかどうかを確認する方法は? a
正規表現を使用して からまでの文字を検出する方法を学びましたz
。
任意のシンボルも検出するように正規表現を作成できますか? のように. , ! ? @ # $ % ^ & * ( )
、または他のもの。
より具体的には、 myで数字のみを受け入れたいですstring
。
前に、文字列にaからzまでの文字が含まれているかどうかを確認する方法は? a
正規表現を使用して からまでの文字を検出する方法を学びましたz
。
任意のシンボルも検出するように正規表現を作成できますか? のように. , ! ? @ # $ % ^ & * ( )
、または他のもの。
より具体的には、 myで数字のみを受け入れたいですstring
。
数字のみを含む文字列または空の文字列を照合するには、正規表現パターンを使用します^\d*$
数字のみを含む文字列に一致させ、空の文字列を許可しないようにするには、正規表現パターンを使用します^\d+$
Console.WriteLine((new Regex(@"^\d+$")).IsMatch(string) ? "Yes" : "No");
ここでこのコードをテストします。
詳細については、http://www.regular-expressions.info/dotnet.htmlをご覧ください。
using System.Text.RegularExpressions;
最初に正規表現番号を作成する
private Boolean number(string obj)
{
Regex r = new Regex(@"^[0-9]+$");
Match m = r.Match(obj);
if (m.Success == true) return true;
else { return false; }
}
それが数字であることを確認してください
if (number(textBox1.Text) == true)
{
MessageBox.Show("text box couldn't filled with numbers", "WARNING", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
正規表現よりも高速で保守が容易なソリューションが必要な場合:
string num = "123456a";
bool isOnlyDigits = num.All(char.IsDigit);
Regex
特定の規則に従うだけで、独自のものを作成できます。このRegex Cheat Sheetを参照して、独自の Regex を作成してください。
\d+
1 つ以上の数字に一致します。
例えば:
var myString = @"fasd df @###4 dfdfkl 445jlkm kkfd ## jdjfn ((3443 ";
var regex = new Regex(@"(\d+)");
var matches = regex.Match(myString); // This will match: 4, 445 and 3443
お役に立てれば。