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

本文关键字:单个 字符 net 正则表达式 匹配 | 更新日期: 2023-09-27 18:24:32

根据MSDN文档,.字符

匹配除''n以外的任何单个字符。

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

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

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

您正在匹配[.],意思是字符.。只需使用.即可获得结果。[]表示里面的任何字符。因此,.失去了它的特殊意义。

请参阅演示。

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

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

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

不能在[]中使用.来获取所有字符。卸下[],它就会工作。

您只需使用:

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();