单个反斜杠的Regex模式

本文关键字:Regex 模式 单个反 | 更新日期: 2023-09-27 18:27:35

我正在尝试匹配下面的字符串。我不能把它做好。有人能帮忙吗?

string str = "test'tester";
            if (Regex.IsMatch(str, "/''/"))
                MessageBox.Show("Match");
            else
                MessageBox.Show("Not match");

我想知道我应该用什么Regex模式来匹配它。

单个反斜杠的Regex模式

在这种情况下,从性能的角度来看,使用string.Contains()要好得多:

string str = @"test'tester"; //<- note the @
if (str.Contains("''"))
    MessageBox.Show("Match");
else
    MessageBox.Show("Not match");

请注意,在测试原始字符串中,您需要转义该字符串的'@

我怀疑您的测试代码是错误的

您正在测试的内容:

string str = "test'tester";

但是,如果您得到的是"由反斜杠分隔的两个参数",则这应该是

string str = "test''tester";

这是因为反斜杠在常量中表示为''。因为't恰好代表一个制表符,所以您的测试代码在编译时不会抛出错误。如果你这样做:

string str = "mytest'mytester";

您将得到一个错误,因为'm无效。

简单使用:Regex.IsMatch(str, @".*''.*")

'用于对反斜杠进行转义。

单个反斜杠的正则表达式是''。如果要使字符串在C#中完全匹配,请使用@运算符:

Regex.IsMatch(str, @".*''.*")

或者,您可以使用C#的转义字符:

Regex.IsMatch(str, ".*''''.*")