我在c#console app中使用Regex。 我在我的字符串中以'@'开头的单词,我正在使用Regex来匹配那些,但这似乎不起作用。 这是我的代码
public static void regularExpression()
{
string[] sentences =
{
"@TODAY is 18 Dec",
"@TODAY_CAL is 18 Dex",
"@YESTERDAY was 17 dec",
"@YESTERDAY_CAL was 17 Dec"
};
string sPattern = @"\b@TODAY\b";
foreach (string s in sentences)
{
System.Console.Write("{0,24}", s);
if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
{
System.Console.WriteLine(" (match for '{0}' found)", sPattern);
}
else
{
System.Console.WriteLine();
}
}
}
@TODAY不匹配。如果我用
替换sPatternstring sPattern = @"@TODAY";
它有效。但在这种情况下它甚至匹配@TODAY_CAL,这正是我想要避免的。 我想要确切的词来匹配。
任何建议???
答案 0 :(得分:1)
试试这个:
string sPattern = @"@TODAY\b";