Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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# 验证它是否不是十进制或整数的正则表达式_C#_Regex - Fatal编程技术网

C# 验证它是否不是十进制或整数的正则表达式

C# 验证它是否不是十进制或整数的正则表达式,c#,regex,C#,Regex,我试图找到一个正则表达式来找出输入框中没有正确输入十进制或整数的数字 例子 1.——捕捉//连续重复的点 ABC-捕获//所有字母表 1.1.1-捕捉//以数字重复的点 !、@、#Catch//所有特殊字符 下面是我目前的情况,除了例子-3中小数点可以以任意组合重复之外,其他例子我都能抓住 void T1\u HTextChanged(对象发送方,事件参数e) { if(System.Text.RegularExpressions.Regex.IsMatch(T1_H.Text,“[^0-9.-

我试图找到一个正则表达式来找出输入框中没有正确输入十进制或整数的数字

例子

  • 1.——捕捉//连续重复的点
  • ABC-捕获//所有字母表
  • 1.1.1-捕捉//以数字重复的点
  • !、@、#Catch//所有特殊字符
  • 下面是我目前的情况,除了例子-3中小数点可以以任意组合重复之外,其他例子我都能抓住

    void T1\u HTextChanged(对象发送方,事件参数e)
    {
    if(System.Text.RegularExpressions.Regex.IsMatch(T1_H.Text,“[^0-9.-]+[124;[.]{2}”))
    {
    MessageBox.Show(“请只输入数字”);
    T1_H.Text=“”;
    }
    }
    
    如果您确实想使用regexp,可以使用:
    ^[0-9]+(\[0-9]+)?$

    你可以在这里测试


    如果你想知道它是否是一个有效的数字,你也可以尝试转换它并检查是否有错误。

    如果你真的想使用regexp,你可以使用:
    ^[0-9]+(\.[0-9]+)?$

    你可以在这里测试

    如果你想知道它是否是一个有效的数字,你也可以尝试转换它并检查是否有错误。

    试试这个正则表达式:

    ^[0-9]+([.][0-9]{1,2})?$
    
    说明

    • ^在行的开始处断言位置
    • 匹配下面列表中的单个字符[0-9]+
    • +量词-在一次和无限次之间尽可能多地匹配, 按需回馈(贪婪) 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
    • 第一捕获组([.][0-9]{1,2})
    • 量词-匹配0到1次,尽可能多地匹配,根据需要返回(贪婪)
    • 匹配下面列表中的单个字符[。] . 与角色匹配。字面意思(区分大小写)
    • 匹配[0-9]{1,2}下面列表中的单个字符 {1,2}量词-匹配1到2次,尽可能多次,根据需要返回(贪婪)
    • 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
    • $断言行末尾的位置
    工作示例:

    它将检查所有整数和小数点不超过两个小数点的小数。您可以根据自己的要求进行更改。

    试试这个正则表达式:

    ^[0-9]+([.][0-9]{1,2})?$
    
    说明

    • ^在行的开始处断言位置
    • 匹配下面列表中的单个字符[0-9]+
    • +量词-在一次和无限次之间尽可能多地匹配, 按需回馈(贪婪) 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
    • 第一捕获组([.][0-9]{1,2})
    • 量词-匹配0到1次,尽可能多地匹配,根据需要返回(贪婪)
    • 匹配下面列表中的单个字符[。] . 与角色匹配。字面意思(区分大小写)
    • 匹配[0-9]{1,2}下面列表中的单个字符 {1,2}量词-匹配1到2次,尽可能多次,根据需要返回(贪婪)
    • 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
    • $断言行末尾的位置
    工作示例:


    它将检查所有整数和小数点不超过两个小数点的小数。您可以根据需要进行更改。

    如果您想通过正则表达式实现这一点,可以使用

    ^(\d*\.)?\d+$
    


    但请注意,您也可以使用
    Decimal.TryParse
    。您可以阅读有关Decimal.TryParse的更多信息

    如果您想通过正则表达式实现这一点,可以使用

    ^(\d*\.)?\d+$
    


    但请注意,您也可以使用
    Decimal.TryParse
    。您可以阅读更多关于Decimal.TryParse的内容

    您可以改为使用try{Convert.ToInt32(input);}catch(Exception){//not int}。如果yiu真的想使用正则表达式进行验证,请尝试:-?[0-9]+([0.9]+)?检查输入是否是一个数字。注意:您可以对正则表达式求反,以检查输入是否不是一个数字。。。显然,请尝试此正则表达式:
    ^[0-9]+([.][0-9]{1,2})?$
    。工作示例:。它将检查所有整数和小数点不超过两个小数点的小数。您可以根据您的请求更改它。
    int.TryParse
    decimal.TryParse
    是比regex更好的选项。您也可以使用NumericUpDown而不是TextBox。您可以改为使用try{Convert.ToInt32(input);}catch(Exception){//not int}。如果yiu真的想使用正则表达式进行验证,请尝试:-?[0-9]+([0.9]+)?检查输入是否是一个数字。注意:您可以对正则表达式求反,以检查输入是否不是一个数字。。。显然,请尝试此正则表达式:
    ^[0-9]+([.][0-9]{1,2})?$
    。工作示例:。它将检查所有整数和小数点不超过两个小数点的小数。您可以根据自己的要求进行更改。
    int.TryParse
    decimal.TryParse
    是比regex更好的选项。您也可以使用NumericUpDown而不是TextBox。