我的数据集的属性带有Markdown格式的链接。
例如:
[stackoverflow](http://www.stackoverflow.com)
[GitHub](https://www.github.com)
[See](http://www.microsoft.com)
[More info](http://www.apple.com)
[Even more info](http://www.google.com)
对于最后三行,我想将属性的值更改为方括号之间的url。因此,结果数据集应如下所示:
[stackoverflow](http://www.stackoverflow.com)
[GitHub](https://www.github.com)
http://www.microsoft.com
http://www.apple.com
http://www.google.com
如何使用正则表达式实现这一目标?
我想到了这个
搜索:^\[See\]\((.*?)\)$
替换为:\1
前三行效果很好,但后两行当然没有变化。我似乎无法弄清楚如何使用一个正则表达式来完成我想做的事情。有什么建议吗?
答案 0 :(得分:3)
^\[(See|More info|Even more info)\]\((.*?)\)$
您需要在3个文本版本之间使用alternation
,然后要替换的组现在是\2
。括号是捕获组,但是管道|
从值中选择。
答案 1 :(得分:1)
如果您的正则表达式引擎支持积极的眼神,则可以通过强制正则表达式有两行来尝试更通用的方法:
(?<=\n.+\n)\[(.*)\]\((.*?)\)$
并分别用$2
\2