-1

我在使用正则表达式时遇到问题。

我有以下代码:

string d = "moveUp(),;moveDown();";
string[] s = Regex.Split(d, ",");
foreach (string line in s)
{
     string line1 = line.Replace("\n", null);
     line1 = line1.Replace("\r", null);
     string pattern = @"^moveUp();$";
     bool a1 = Regex.IsMatch(line1, pattern);
     if (!a1)
     {
         warning.Text = "error";
         return;
     }
}

为什么a1 false这里的价值?

4

3 回答 3

3

()在正则表达式中有特殊含义:捕获组。

你必须逃避它:从字面上\(\)匹配。()

于 2013-09-29T19:51:30.313 回答
1

尝试将第一行从

string s="moveUp(),;moveDown();";

string s="moveUp();,moveDown();";
于 2013-09-29T19:52:24.840 回答
1

因为分裂moveUp(),;moveDown();使得:moveUp();moveDown();

,应该与交换;

于 2013-09-29T19:52:44.953 回答