匹配.net正则表达式中的单个字符

时间:2014-09-25 13:04:40

标签: c# regex

根据MSDN documentation.字符

  

匹配除\ n。

之外的任何单个字符

在这种情况下,为什么这个正则表达式不匹配?:

Regex.IsMatch("c",@"[.]")

4 个答案:

答案 0 :(得分:5)

您正在匹配[.],即.字符。仅使用.获取结果。 []表示内部任何一个角色。所以.失去了它的特殊意义。

参见演示。

http://regex101.com/r/qC9cH4/19

c被第二组捕获而不是第一组。

答案 1 :(得分:1)

您无法在.内使用[]来获取所有字符。删除[]即可。

答案 2 :(得分:1)

@"[.]";替换为@"."; //使用.

答案 3 :(得分:1)

你可以使用:

Console.WriteLine(Regex.IsMatch("c", @"."));

如果您经常这样做,请添加

public static class Extensions
{
    public static bool Match(this string value, String query)
    {
        return Regex.IsMatch(value, query);
    }

    public static void Out<t>(this t value)
    {
        Console.WriteLine(value);
    }
}

之后你可以使用

"c".Match(".").Out();