Я хочу совместить символы Юникода, используя регулярное выражение. Я нашел, что это возможно, используя Unicode Category or Block или, точнее, используя эти Unicode Categories и Supported Named Blocks.Как совместить символ Юникода, используя .net?
Проблема в том, что я не могу заставить ее работать, используя LINQPAD 4
и Regex.IsMatch
функция. Например, пытаясь соответствовать простой латинский характер, как это:
Console.WriteLine(Regex.IsMatch("d", @"[\0000-\007F]+"));
поднимает следующую ошибку:
ArgumentException4 parsing "[\0000-\007F]+" - [x-y] range in reverse order.
и с помощью этого:
Console.WriteLine(Regex.IsMatch("d", @"\L{IsBasicLatin}{1}"));
дает мне:
parsing "\L{IsBasicLatin}{1}" - Unrecognized escape sequence \L.
В моем реальном случае я я собираюсь заменить IsLatin
на IsCyrillic
, но мне нужно заставить его работать с латынью, чтобы быть уверенным, что это OK
.
Может ли кто-нибудь сказать, что я делаю неправильно?
Я считаю, что вы используете неправильный символ эвакуации. Изучите руководство: https://msdn.microsoft.com/en-us/library/20bw873z%28v=vs.110%29.aspx. Персонаж, которого вы ищете, - \ p imo. – Santhos
Все символы Unicode. Итак, в чем вопрос? _ –