Разбор регулярных выражений цифр и алфавитов переменной длины и частоты - PullRequest
0 голосов
/ 20 апреля 2020

Я все еще новичок ie для регулярных выражений и считаю, что это довольно круто, схватив все это за один go. Поэтому я обращаюсь ко всем вам, чтобы понять, как я могу получить первую группу цифр или алфавитов в следующем примере

01_crop_and_animal
02_03_forestry_fishing
05_09_13_15_19_23_31_39_other_location
68201_68202_operation_of_dwellings
a_agriculture_forestry_and_hunting_01_03
b_f_secondary_production_05_43

Цифры появляются несколько раз и могут иметь длину от 2 до 5. Алфавиты встречаются один или два раза. По сути, я хотел бы видеть вывод:

01
0203
0509131519233139
6820168202
a
bf

Спасибо за вашу помощь! Rob

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Это можно сделать в 2 этапа.

  • 1-й шаг, сопоставить цифры / буквы:
    ^([a-z](?:_[a-z])?|\d{2,5}(?:_\d{2,5})*)(?![a-z\d])

Демонстрация и объяснение

  • 2-й шаг, снять подчеркивание.
0 голосов
/ 20 апреля 2020

Вам нужно будет выполнить два действия: сначала выберите

^([0-9_]+|[a-z](_[a-z])?_)

Затем удалите все _ из полученных строк.

См. https://regex101.com/r/jY9Y2I/1

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