C#中的正则表达式

时间:2022-11-17 18:48:05
 
   因需要要运用正则表达式验证用户输入:
 
   具体输入要求:

  
纯数字    22
XY   X
XY+数字   +是加号例如X+55
 
 
实现的正则表达式
((X|Y)|((X|Y/+){0,1}/d+))
       
/+:为转义字符表示
/d:表数字
+:表重复1到多次
{0,1}:表前面的表达式(X|Y/+)重复0或1次
 
程序实现(简单截取关键的)
using System.Text.RegularExpressions;
public class main
{
Regex regex = new Regex(@"((X|Y)|((X|Y/+){0,1}/d+))", RegexOptions.IgnoreCase); //@表示忽略转义字符
 
if (SDZX.Text!="")
              {
                   input=SDZX.Text.Trim();
                   isMatch = regex.IsMatch(input);
                   if( isMatch )
                   {
                       sdzx=input;
                   }
 
                   else
                   {
                        MessageBox.Show("请按规定的格式、内容输入!!", "错误",MessageBoxButtons.OK,     MessageBoxIcon.Error);
                       SDZX.Clear();
                       SDZX.Focus();
                       return;
                   }
 
              }