Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-make Regex检测任何非';t数字_C#_Regex - Fatal编程技术网

C#-make Regex检测任何非';t数字

C#-make Regex检测任何非';t数字,c#,regex,C#,Regex,前面我已经学习了如何使用正则表达式来检测从a到z的字母 我们可以让正则表达式也检测任何符号吗?像,!?@$%^&*()或任何其他 更具体地说,我想在我的字符串中只接受数字来匹配只包含数字的字符串或空字符串,使用正则表达式模式^\d*$ 要匹配仅包含数字的字符串,不允许使用空字符串,请使用正则表达式模式^\d+$ Console.WriteLine((new Regex(@"^\d+$")).IsMatch(string) ? "Yes" : "No"); 测试此代码 在了解更多信息要匹配仅包

前面我已经学习了如何使用正则表达式来检测从
a
z
的字母

我们可以让正则表达式也检测任何符号吗?像
,!?@$%^&*()
或任何其他


更具体地说,我想在我的
字符串中只接受数字

来匹配只包含数字的字符串或空字符串,使用正则表达式模式
^\d*$


要匹配仅包含数字的字符串,不允许使用空字符串,请使用正则表达式模式
^\d+$

Console.WriteLine((new Regex(@"^\d+$")).IsMatch(string) ? "Yes" : "No");
测试此代码



了解更多信息要匹配仅包含数字的字符串或空字符串,请使用正则表达式模式
^\d*$


要匹配仅包含数字的字符串,不允许使用空字符串,请使用正则表达式模式
^\d+$

Console.WriteLine((new Regex(@"^\d+$")).IsMatch(string) ? "Yes" : "No");
测试此代码



了解更多信息您只需遵循某些约定即可创建自己的
Regex
。参考此项创建您自己的正则表达式。

您只需遵循某些约定即可创建您自己的
正则表达式。参考此项创建您自己的正则表达式。

\d+
将匹配一个或多个数字

例如:

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

希望这有帮助。

\d+
将匹配一个或多个数字

using System.Text.RegularExpressions;
例如:

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
希望这有帮助

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);
            }
首先创建正则表达式编号

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);
如果您想要一个比正则表达式更快、更易于维护的解决方案:

string num = "123456a";
bool isOnlyDigits = num.All(char.IsDigit);

你能给出一些示例输入和示例输出吗?我正在做一个if语句,它只在字符串只包含numbers@Anggrian
c#简言之
在regex上有很好的信息..应该可以帮助你开始!你能给出一些示例输入和示例输出吗?我正在做一个if语句,它只在字符串只包含numbers@Anggrian
c#简言之
在regex上有很好的信息..应该可以帮助你开始@Ωmega,这是下载的唯一原因吗?“展示其他选择”是件坏事吗?也许OP不知道linq替代方案,可能会决定使用它。我认为您应该在代码中添加一些解释,或者也提供正则表达式解决方案,因为没有任何注释(因为您只发布了代码),这肯定不是OP要求的。如果您在非正则表达式解决方案中添加一些文本和/或解释,或者如果您提供正则表达式解决方案,我将非常乐意删除我的否决票。公平吗@Ωmega,不,我不会添加任何解释(足够清楚)和正则表达式解决方案@Ωmega,这是下载的唯一原因吗?“展示其他选择”是件坏事吗?也许OP不知道linq替代方案,可能会决定使用它。我认为您应该在代码中添加一些解释,或者也提供正则表达式解决方案,因为没有任何注释(因为您只发布了代码),这肯定不是OP要求的。如果您在非正则表达式解决方案中添加一些文本和/或解释,或者如果您提供正则表达式解决方案,我将非常乐意删除我的否决票。公平吗@Ωmega,不,我不会添加任何解释(足够清楚)和正则表达式解决方案。