Функция разделения Perl - используйте повторяющиеся символы в качестве разделителя
Я хочу разбить строку, используя повторяющиеся буквы в качестве разделителя, например,"123aaaa23a3"
должен быть разделен как('123', '23a3')
в то время как"123abc4"
следует оставить без изменений.
Итак, я попробовал это:
@s = split /([[:alpha:]])\1+/, '123aaaa23a3';
Но это возвращается'123', 'a', '23a3'
что не то, что я хотел. Теперь я знаю, что это потому, что последний'a'
в'aaaa'
захватывается парантезами и таким образом сохраняетсяsplit()
, Но в любом случае я не могу добавить что-то вроде?:
поскольку[[:alpha:]]
должны быть захвачены для обратной ссылки. Как я могу разрешить эту ситуацию?