Воспроизведение массива звуковых элементов в Android

Ваше регулярное выражение ((c*)|(cccd)) означает совпадение любой из двух вещей:

  1. 0 или неограниченный c's
  2. Литеральная последовательность cccd

Поскольку регулярные выражения жадные, он потребляет строку ccc в качестве соответствия, так что это то, что вы возвращаете. Сначала попробуем, что когда-либо наступит раньше (в этом случае c*, и если он сможет сделать совпадение, то это будет.

Чтобы исправить то, что вы хотите, попробуйте регулярное выражение: (cccd)|(c*). При этом:

>>> mo = re.match('(cccd)|(c*)', 'cccd')
>>> mo.group(0)
'cccd'

Пример здесь: https://regex101.com/r/aU8pE7/1

0
задан Rakesh Kumar 3 March 2019 в 15:45
поделиться