临时正则表达式

时间:2017-02-02 08:43:17

标签: c# regex visual-studio

我正在开发一个C#应用程序。

我有一个带有提交按钮的文本输入字段。

当我点击按钮时,我想检查文本是否完整:" CODxxxxx" (X =号)。

其实我有这个:

if (inputText1.ToLower().Contains("COD") && inputText1.Length.ToString() == "8")
        {
            //DO THINGS
        }

但如果字符串为xxxCODxx,则该语句返回true。

我认为正则表达式可以帮助我,但我从未使用过C#...

4 个答案:

答案 0 :(得分:1)

尝试:

inputText1.ToLower().StartsWith("cod") && inputText1.Length == 8

或者,如果你真的想要它与正则表达式, 这将是正确的模式:

Regex.IsMatch( inputText1, "COD\w{5}");

答案 1 :(得分:1)

尝试正则表达式

 bool correct = Regex.IsMatch(inputText1, "^COD[0-9]{5}$");

如果你想忽略大小写(即CodcOD等应该是正确的),只需添加选项:

 bool correct = Regex.IsMatch(inputText1, "^COD[0-9]{5}$", RegexOptions.IgnoreCase);

答案 2 :(得分:1)

您也可以在没有RegEx的情况下解决它

string input = "COD12345";
bool result = input.StartsWith("COD") && input.Skip(3).All(x => char.IsDigit(x)) && input.Length == 8;

答案 3 :(得分:0)

您可以使用正则表达式:

Regex.IsMatch( text, "^COD\\d{5}$");

或您自己的解决方案:

string txt = inputText1.ToLower();
if (txt.StartsWith("cod") && txt.Length == "8")
   {
           int a = 0;
           int.TryParse(txt.Substring(3), out a);
            if(a!=0){
            //DO THINGS
          }
   }