正则表达式在 C# 中未按预期匹配

本文关键字:正则表达式 | 更新日期: 2023-09-27 18:18:29

我使用以下代码:

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.");

控制台返回"不匹配"。正则表达式本身对我来说似乎很好,但我可能错过了一些简单的东西。任何帮助将不胜感激。

正则表达式在 C# 中未按预期匹配

你正在使用一些JavaScript正则表达式描述符。尝试:

Regex regex = new Regex(@"([a-z])('d{1,2})", RegexOptions.IgnoreCase);

那么你可能需要使用 IsMatch((:

if(regex.IsMatch(tile))
{
    // ...
}

试试这个:

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.");
Regex regex = new Regex(@"([a-z])('d{1,2})");

我不确定为什么你有一个领先的/和一个尾随的/i. 它们分别匹配字符//i