我想使用正则表达式匹配Unicode字符。我发现可以使用Unicode类别或块,更准确地说是使用这些Unicode类别和支持的命名块。
问题是我无法在
问题是我无法在
LINQPAD 4
和Regex.IsMatch
函数中使其工作。例如,尝试匹配一个简单的拉丁字符如下:Console.WriteLine(Regex.IsMatch("d", @"[\0000-\007F]+"));
会引发以下错误:
参数异常4,解析“[\0000-\007F]+”时- [x-y] 范围倒序。
并使用以下内容:
Console.WriteLine(Regex.IsMatch("d", @"\L{IsBasicLatin}{1}"));
给我的提示是:
解析"\L{IsBasicLatin}{1}" - 未识别的转义序列\L。
在我的真实情况下,我将用IsCyrillic
替换IsLatin
,但我需要先让它与拉丁文一起工作,以确保它正常运行。
有人能告诉我我错在哪里吗?