单反斜杠的正则表达式模式

时间:2013-08-13 16:16:21

标签: c# regex

我正在尝试匹配以下字符串。我无法做到对。有人可以帮忙吗?

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

我想知道我应该使用什么样的正则表达式来匹配它。

4 个答案:

答案 0 :(得分:2)

在这种情况下,从性能的角度来看,您更善于使用string.Contains()

string str = @"test\tester"; //<- note the @

if (str.Contains("\\"))
    MessageBox.Show("Match");
else
    MessageBox.Show("Not match");

请注意,在测试原始字符串中,您需要转义\@字符串。

答案 1 :(得分:1)

只需使用:Regex.IsMatch(str, @".*\\.*")

\用于转义反斜杠。

答案 2 :(得分:1)

我怀疑您的测试代码错误

您正在测试的内容:

string str = "test\tester";

但是如果你得到的是“用反斜杠分隔的两个参数”,那么这应该是

string str = "test\\tester";

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

string str = "mytest\mytester";

您会收到错误,因为\m无效。

答案 3 :(得分:0)

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

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

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

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