比如我要0以上的所有正數包括小數,還有像"P001"這種,怎么寫啊

解决方案 »

  1.   

    一般来说匹配正整数的话,\d+就可以了,d就表示数字,你不匹配 - 号就可以认为是正数,至于P001,可以这样写 P\d{3}
      

  2.   

    大于0的所有正数和小数:
    [1-9]\d*(.)?\d*前面带P:
    P[1-9]\d*(.)?\d*
      

  3.   

    \會顯示無法區分的轉義符啊
    在C#里?字符串前面加@ 或者 转义string str=@"[1-9]\d*(.)?\d*";或者string str="[1-9]\\d*(.)?\\d*";
      

  4.   

    俺06年在IBM CRL专门做过一段时间Regex,呵呵
      

  5.   

    else if (textBox1.Text != @"P\d{3}")
                {
                    MessageBox.Show("產品編號請按'P001'的格式輸入!");
                }我這么寫對嗎???怎么還是不行啊
      

  6.   

     - -!!要使用正则类Regex才行的,MSDN里搜索一下Regex看看吧
      

  7.   

    string pattern=@"^[a-zA-Z]?\d+(\.\d+)?$";
    前面可能有一个字母,后面是一个以上的数字,最后可能有小数点加一个以上数字。
      

  8.   

    请楼主先在GOOGLE里搜索一下C# Regex
      

  9.   


    正则不是这样写的。。
    改成:else if (!System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text,@"^P\d{3}$")) 
                { 
                    MessageBox.Show("產品編號請按'P001'的格式輸入!"); 
                }