У меня есть строка, содержащая ноль или более чисел, то ноль или более символов ABCD
. Я хочу проанализировать число в одну группу, а затем все символы в отдельную группу на символ. Я пробовал:Повторение группы захвата
([0-9]*)([ABCD])*
: Фиксирует количество правильно, но только последняя буква
([0-9]*)(([ABCD])*)
: Фиксирует количество правильно, но сначала все буквы в одной группе, то только последняя буква в группе
Я понимаю, почему каждый из этих результатов происходит, но я не знаю, как это исправить. Как мне изменить регулярное выражение, чтобы дать мне несколько групп для совпадающих символов? Бонусные баллы, если я не получаю пустую группу (''
или undefined
), если либо номера, либо букв нет.
Например:
1A
=> [1, А]
99
=> [99]
CAB
=> [С, А, В]
1234ABCD
=> [1234, A, B, C, D]
Как регулярное выражение знает, как долго каждая из групп? Можем ли мы иметь тестовые входные строки и результаты тестирования? –
Несомненно, я приведу несколько примеров. – Jorn
Можете ли вы запустить две отдельные функции соответствия? –