Как сделать так, чтобы RegEx не убирал точки?
Нужно распарсить эту строку:
"sqlite://root:123@localhost:8080/mydatabase.db"
Я использую регулярные выражения. Вот паттерн, \W+. Но он исключает все знаки препинания, включая нужную мне точку в названии файла базы данных. Как сделать так, чтобы после последнего слеша RegEx останавливался?
Ответы (3 шт):
Автор решения: flawe
→ Ссылка
Предлагаю вам такой вариант: ([a-z0-9.]+)
Чтобы проверить своё регулярное выражение, вы можете воспользоваться сайтом https://regex101.com/
Автор решения: White Marlin
→ Ссылка
Надеюсь вы пишите на языке python
re.sub(r"(://|:|@|/)", " ", str).split(" ")
Автор решения: Wiktor Stribiżew
→ Ссылка
Чтобы из \W исключить символ точки, нужно заменить эквивалентным исключающим символьным классом, [^\w], и добавить в него исключаемый символ.
Используйте
[^\w.]+