Классы Юникода
\p{L} находит буквы любого алфавита,
\p{N} - числовые символы.
Противоположность - \P{L}.
Для ASCII часто хватает
[a-z]
или \d.
Синтаксис
Regex.IsMatch(text, @"\p{L}+");
Regex.IsMatch(text, @"\p{N}+");
Пример
Давайте найти буквы \p{L}+:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var m = Regex.Match("abcde", @"\p{L}+");
Console.WriteLine(m.Value);
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте найти числа \p{N}+:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var m = Regex.Match("12345", @"\p{N}+");
Console.WriteLine(m.Value);
}
}
Результат выполнения кода:
"12345"
Пример
Давайте разделить буквы и цифры в "a1b2":
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var letter = Regex.Match("a1b2", @"\p{L}");
var digit = Regex.Match("a1b2", @"\p{N}");
Console.WriteLine(letter.Value + digit.Value);
}
}
Результат выполнения кода:
"a1"
Смотрите также
-
цифра,
\d для ASCII -
слово,
\w -
класс символов,
ручной набор -
Regex,
класс поиска