Regex для группы любого персонажа в диапазоне от минимального до максимального - PullRequest
0 голосов
/ 25 декабря 2018

Попытка создать класс символов из всех алфавитов, цифр и знаков препинания, затем указать его диапазон, но он не работает.[A-Za-z0-9 _.- \,] {, 5}

Я пытаюсь найти совпадение для групп «любого персонажа» в диапазоне от одного предела до другого, как для совпаденияСхожим образом с алфавитами вы бы использовали "[A-Za-z] {, 5}", но проблема в том, что это работает только для алфавитов или цифр, но я хочу, чтобы мое выражение совпадало с любым символом (обозначения, алфавиты, числа).

Я пробовал такие вещи, как ". {, 5}" и "(. *?)", Но он не ранжирован, он будет соответствовать всем между.

string pattern = @"[A-Za-z0-9]{,10}";
MatchCollection matches = Regex.Matches(text,pattern);
foreach(var match in matches)
{
     MessageBox.Show(match.Value.ToString());
}

например, я хочусопоставить все, начиная с {, 10} после "NN" из этой строки "Estragon_NN, _, Sitting_VBG [PRESP]", но в результате я получаю только "NN"

1 Ответ

0 голосов
/ 25 декабря 2018

Вы можете использовать

string pattern = @"([^_]+)_NN(?<capturedGroup>[a-zA-Z0-9_\[\],\s]{0,10})";
var matches = Regex.Match("Estragon_NN,_,sitting_VBG [PRESP]",pattern);
var result = matches.Groups["capturedGroup"].Value;

Можете проверить это здесь https://regex101.com/r/OVyZ3b/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...