单个反斜杠的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模式来匹配它。
在这种情况下,从性能的角度来看,使用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, ".*''''.*")