Проблемы с regex

RemmyCic

Новичок
Регистрация
14.02.2024
Сообщения
3
Благодарностей
0
Баллы
1
Здравствуйте!
Решил обратиться на форум, по той причине, что ужасно плохо зачастую работать с regex. Многие regex, которые я тестирую в конструкторе могут работать (p.s. взятые с другого источника),при том как надо, но в тот же момент они не работают в обработке списков либо в обработке текстов. Почему такая проблема случается? Если что я новичок, сильно не бейте )
Вот одни из последних примеров, которые я хотел использовать, проверил в конструкторе и всё работает, но в обработке текста - regex нет:

(?<=>\s[0-9]+\s>\s)[0-9]+

(?<=>\s\d+\s>\s)\d+

Это выражение ищет последовательность чисел от 0 до 9, которая следует за символом >, пробелом и числом от 0 до 9, перед которыми также находится символ >, пробел и число от 0 до 9.
 

RemmyCic

Новичок
Регистрация
14.02.2024
Сообщения
3
Благодарностей
0
Баллы
1
Если касаться конкретной задачи, то есть такой набор значений, которые были в списке, из списка я сделал переменную сохранив перенос строки:

hanging
YES
> 7
> 3361
dispenser
NO
-
-
essentials
YES
> 7
> 33

Из этого всего мне нужно извлечь числа от 0 до 9, стоящие сразу после YES (где 7, то есть следующая строка) и занести в список все вхождения. И тоже самое сделать нужно для значений, стоящих через строку от YES (где 3361 и 33). Символы > и пробел упускаем.
Если поможете, буду благодарен
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113
Используйте RegexBuddy для создания регулярок + добавляйте к регуляркам модификаторы.
 

invergo

Client
Регистрация
17.02.2016
Сообщения
46
Благодарностей
20
Баллы
8
Там где перенос строки используй \s+
C#:
(?<=>\s\d+\s+>\s)\d+
 
  • Спасибо
Реакции: RemmyCic

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)