我有一条经过正则表达式处理的输出行,如下所示:
<a href="google.com">"test link"</a><br>
如何将不带引号的 google.com 捕获到变量中?鉴于 url 可能包含许多 '/',例如(以下胡乱编造)
http://www.google.com/search/something/lulz/here2;i=!mfo1iu489fn1o2jlk21m4098mdoi
编辑:在上述情况下,我想要整个 url 字符串,而不仅仅是 www.google.com。
注意:不要为了执行此操作而加载第 3 方库等。
最佳答案
试试这个纯 bash 正则表达式解决方案
shopt -s nocasematch #Dont care about the character case
text='<a href="hTTtp://www.google.com/search/something/lulz/here2;i=!mfo1iu489fn1o2jlk21m4098mdoi">"test link"</a><br>'
regex='(<a\ +href=\")([^\"]+)(\">)'
[[ $text =~ $regex ]] && echo ${BASH_REMATCH[2]}
关于linux - 如何在 BASH 中捕获 href 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112191/