如何用Regex移除包含起止字符的指定内容?求正则表达式专家解答
正则表达式移除指定子串的方案
情况1:精确移除固定目标子串
你的目标是移除固定的<www.google.com/>,直接匹配这个字面量即可,注意正则里的.和/需要转义(部分语言里/作为分隔符时也需要转义):
以Python为例:
import re input_str = "www.google.com<www.google.com/>" result = re.sub(r'<www\.google\.com/>', '', input_str) # 输出结果:"www.google.com"
以JavaScript为例:
const inputStr = "www.google.com<www.google.com/>"; const result = inputStr.replace(/<www\.google\.com\/>/g, ''); // 输出结果:"www.google.com"
情况2:通用移除所有<.../>格式的子串
如果需要处理的是所有类似<xxx/>格式的子串(不止这一个固定内容),可以用更通用的正则:
Python示例:
import re input_str = "www.google.com<www.google.com/>" result = re.sub(r'<[^>]+/>', '', input_str) # 输出结果:"www.google.com"
JavaScript示例:
const inputStr = "www.google.com<www.google.com/>"; const result = inputStr.replace(/<[^>]+\/>/g, ''); // 输出结果:"www.google.com"
这个通用正则的逻辑:
<:匹配开头的左尖括号[^>]+:匹配任意非>的字符(^在方括号里表示取反),+表示至少一个字符/>:匹配结尾的/>
内容的提问来源于stack exchange,提问作者Frederik Elsen
相关产品推荐
相关产品推荐

