Я пытаюсь сопоставить строки, такие как 2h30m, 24h, 1d20h30s и извлечь каждый сегмент с именованной группой.Звучит просто и выполнимо, и если вы используете PCRE с регулярным выражением, подобным следующему:
^(((?<h>[0-9]+)h)|((?<m>[0-9]+)m))+$
Полный пример на regexr , вы можете переключаться между PCRE и движком Javascript в правом верхнем углу.угол.
Дело в том, что он не работает в JavaScript, и я не могу понять, почему.Я предполагаю, что это как-то связано с взаимодействием между оператором OR и именованными группами, поскольку при использовании javascript он возвращает только одну из названных групп
. Вопрос в том, почему?и если есть какой-нибудь способ заставить это работать в javascript