Я создаю это регулярное выражение для анализа URL-адреса mongodb следующим образом:
/ mongodb: // ((? 'Username' \ w +): (? 'Password' \ w +) @)? (? 'Hosts '\ w [, \ w] *) (/ (?' defaultdb '[\ w.] +))? (\? (?' options '. * $))? $ / m
I сделайте с ним несколько тестов в regex101 , и я хочу знать, возможно ли проанализировать ',' (запятые) в группе хостов, чтобы получить массив, и аналогичным образом сделать это в группе опций с '& 'separator.
Мои намерения повторяются по результату регулярного выражения и используют группы совпадений с вашим результатом одним способом, без необходимости разбивать по разделителю.
Ожидаемый пример:
mongodb: // user:password@host, хост2, хост3, хост4 / имя базы данных? options = 1 & options = 2
пользователь группы: пользователь
пароль группы: пароль
группа хостов : хост
группа хостов: хост2
группа хостов: хост3
группа хостов: хост4
группа defaultdb: имя базы данных
параметры группы : параметры = 1
групповые параметры: параметры = 2