Microsoft下的正则表达式

时间:2016-09-17 22:19:32

标签: c# wpf

我想知道一个非常简单的事情:字符串是否以反斜杠结束是或否?

string bla = @"C:\";
if ( ! Regex.IsMatch(bla, "\b$")) { bla = bla + @"\"; }

但它不起作用。如果字符串末尾没有斜杠,我想添加斜杠。我尝试了几种方法,即使我只是尝试匹配反斜杠,而不是在字符串的末尾,这是一个巨大的问题:

Regex.IsMatch(bla, "\b") // Not working
Regex.IsMatch(bla, @"\") // Giving me and exception even!
Regex.IsMatch(bla, @"\\$") // not working

我没有选择权。我怎么能用C#反斜杠?

2 个答案:

答案 0 :(得分:6)

  

我想知道一个非常简单的事情:字符串以反斜杠结束   是或否。

然后你不需要正则表达式......

string str = "your string here";
str.EndsWith(@"\"); // true or false

如果你真的想用正则表达式做,你只需要确保你的正则表达式是正确的。这应该有效:

.*\\$

.* will match any optional leading characters
\\ will match the '\' and has been escaped with another '\'
$ will match until the end of your string.

答案 1 :(得分:0)

您的代码不起作用因为静态方法Regex.IsMatch有两个参数..

public static bool IsMatch(string input, string pattern)
{
    return new Regex(pattern).IsMatch(input);
}

所以你应该尝试一下:

if (!Regex.IsMatch(bla, @".*\\$"))