Мой ввод имеет вид: tag.service
Где tag.
является необязательным, но service
является обязательным (хотя может быть любой длины или значения, включая слово, цифру или -
).Если тег присутствует, он всегда будет отключен от службы через .
Еще несколько примеров ввода:
abc.def
a12.34b
1-2.3-4
123
abc
1-2
Я пытаюсь извлечь тег и службу из двух отдельных групп, где тег должен быть группой 1, а служба должна быть группой 2 (даже если тег отсутствует).
Мне удалось продвинуться так далеко:
^([\d\w]*)\.([\d\w]*)$
Однако вышеприведенное не позволяет группе 1 быть необязательной и не гарантирует, что группа 2 являетсявсегда сервис.
Я думаю, что нижеприведенное может немного приблизить меня, но все еще довольно далеко:
^(?:([\d\w]*)\.)?([\d\w]*)$
Используемый двигатель основан на RE2, и, к сожалению, его нет.вариант, отличный от REGEX для этого, т.е. я не могу проверить группы после REGEX, чтобы определить, какая группа имеет какое значение.
Любая помощь очень ценится!