我正在使用以下代码:
string tile = "a1";
Regex regex= new Regex(@"/([a-z])(\d{1,2})/i");
if (regex.Match(tile).Success) Console.WriteLine("Found a match.");
else Console.WriteLine("No match.");
并且控制台返回“No match”。正则表达式本身对我来说似乎很好,但我可能错过了一些简单的东西。任何帮助将不胜感激。
答案 0 :(得分:5)
您正在使用一些javascript正则表达式描述符。尝试:
Regex regex = new Regex(@"([a-z])(\d{1,2})", RegexOptions.IgnoreCase);
然后您可能想要使用IsMatch():
if(regex.IsMatch(tile))
{
// ...
}
答案 1 :(得分:2)
试试这个:
string tile = "a1";
Regex regex = new Regex(@"([a-z])(\d{1,2})", RegexOptions.IgnoreCase);
if (regex.Match(tile).Success) Console.WriteLine("Found a match.");
else Console.WriteLine("No match.");
答案 2 :(得分:0)
Regex regex = new Regex(@"([a-z])(\d{1,2})");
我不确定为什么你有一个前导/
和一个尾随/i
。这些字符分别与字符/
和/i
匹配。