Я пытаюсь проанализировать ввод, который может быть гиперссылкой или гиперссылкой в уценке. Я могу легко проверить, является ли это гиперссылкой с ^https?://.+$
и использовать regexp.Match, но с уценочными ссылками это совершенно другая кроличья нора для меня.
Я натолкнулся на это регулярное выражение ^\[([\w\s\d]+)\]\((https?:\/\/[\w\d./?=#]+)\)$
, которое я пытался изменить, чтобы оно соответствовало только ссылке уценки, но после того, как по каким-то причинам были захвачены последние парантезы, я только что посмотрел на сопоставляя 2-ю группу захвата, ссылку, с такими вещами, как SubexpNames, FindStringIndex, FindSubmatch, Split и т. д., но ни один из них, похоже, не захватывает то, что я ищу (иногда они возвращают всю строку в любом случае) или, скорее всего, я Я делаю это неправильно.
Вот что я ищу:
Input - [https://imgur.com/abc](https://imgur.com/bcd)
Should output the link - https://imgur.com/bcd
Вот мой код: https://play.golang.org/p/OiJE3TvvVb6