我的数据集有一个属性,带有 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
这适用于前三行,但当然后两行保持不变。我似乎无法弄清楚如何使用一个正则表达式做我想做的事情。有什么建议吗?
^[(See|More info|Even more info)]((.*?))$
您需要在 3 个版本的文本之间alternation
,那么要替换的组现在2
.括号是捕获组,但管道|
从值中进行选择。
如果您的正则表达式引擎支持正面查看,您可以尝试更通用的方法,强制正则表达式具有前面两行:
(?<=n.+n)[(.*)]((.*?))$
并分别替换为$2
2