我正试图从一条简单的线上抓取两件物品。
[Title](Description)
编辑:实际上是一个寻找显示的网址称为描述,因为我希望显示它实际上没有被解析。
[Trivium](https://www.youtube.com/user/trivium)
在括号(...)之间抓取对我来说似乎根本不起作用。我用Google搜索并发现了几个没有运气的变化,提前谢谢:)
编辑:
尝试以下方法:
[(.+?)]\((.*)\)
[(.+?)]\([^\(\r\n]*\)
[(.+?)]((.+?))
和cpl我再也找不到了
答案 0 :(得分:4)
您列出的第一个正则表达式几乎是正确的。请尝试使用此正则表达式:
\[.+?\]\((.*)\)
正如@PM 77-1指出的那样,你需要通过在它们前面放一个反斜杠来转义括号。原因是括号是特殊的正则表达式元字符或具有特殊含义的字符。括号告诉正则表达式引擎查找其中包含的字符类。
您的原始正则表达式[(.+?)]\((.*)\)
实际上是这样做的:
[(.+?)] match a period '.' 1 or more times
\((.*)\) match (anything), i.e. anything contained in parentheses
所以这个正则表达式匹配.....(stuff)
但是不匹配[Title](Description)
,后者就是你真正想要的。
这是一个可以测试正则表达式的链接: