У меня есть строки, которые могут быть URL-адресами или CIDR-блоками. Я хочу определить, является ли строка путем URL, например ::1001*
/9this can be/a/path123
/test
/r
или CIDR-маска (/0
до /32
):
/24
/12
/32
Я хочу, чтобы регулярное выражение исключало CIDR-маски из совпадений.
Это то, что я имею до сих пор:
^[/?]((?!([0-9]|[1-2][0-9]|3[0-2]))(?=[\S]))[\S ]*$
Что работает, за исключением случая, когда URL-путь начинается с цифры:
/23example
Я пишу код на Go, если это имеет значение.