这只是一个使用以下 3 个字符串作为输入的示例:
Total Hours Worked (.5);
Total Hours Worked (.A);
Total Hours Worked (A);
我没有考虑任何嵌套的内括号,只是括号内的可能组合是字母和点。
这是一个简单的例子:
string[] data = new string[] { "Total Hours Worked (.5);", "Total Hours Worked (.A);", "Total Hours Worked (A);" };
foreach (string input in data)
{
Console.WriteLine("Result for:" + input);
Match match = Regex.Match(input, @"\([a-z.]+\);$", RegexOptions.IgnoreCase);
if (match.Success)
{
Console.WriteLine("YES");
}
else
{
Console.WriteLine("NO");
}
}
@"\([a-z.]+\);$"
括号前的\
转义被捕获为普通括号,[a-z.]+
我们想要匹配任意数量的字母和点的方法,也可以限制它,但应该给你一个想法。at the $
end 意味着我们希望它以);
如果您想在第一个括号之后将其限制为单个点,您可以使用下面的正则表达式,它将在(
@"\(\.?[a-z]+\);$"
上述结果将是:
Total Hours Worked (.5);
NO
Total Hours Worked (.A);
YES
Total Hours Worked (A);
YES