我需要一个正则表达式去除某些链接的html标签
例如
<a href="falanfilan.com" target="_blank"> link </a>
<a href="sample.com" target="_blank"> fasafiso </a>
应转换为
<a href="falanfilan.com" target="_blank"> link </a>
fasafiso
答案 0 :(得分:1)
根据您的编程语言,您可以提出某事。像:
~<a href="sample\.com" [^>]*>(.*?)</a>~
# delimiter ~
# look for <a, everything that is not > and >
# capture everything lazily in a group
# look for a closing tag
# delimiter ~
在您的示例中,第1组将保留fasafiso
,可以通过组$1
替换/插入。
请参阅此approach on regex101.com的演示。
这只是一个快速而肮脏的解决方案(例如文本编辑器)。如果这变得更复杂,请考虑使用解析器。
答案 1 :(得分:0)
我假设您要将其目标为sample.com
的所有链接替换为其内容:
匹配<a[^>]*href="sample.com"[^>]*>([^<]*)</a>
替换为\1
例如sed:
sed 's/<a[^>]*href="sample.com"[^>]*>([^<]*)</a>/\1/'
另请注意,如果您的要求足够复杂,则应使用HTML解析器。