如何编写Regex实现双条件匹配:移除含指定后缀的特殊字符间内容
精准移除包含图片后缀的!包裹内容
直接用这个正则表达式就能满足你的需求:
!.*?\.(jpeg|png).*?!
正则说明:
!:匹配开头的感叹号边界.*?:非贪婪模式匹配任意字符,避免跨多个感叹号匹配\.(jpeg|png):精准匹配.jpeg或.png后缀(点需要转义,否则会匹配任意字符).*?:继续非贪婪匹配到下一个感叹号!:匹配结尾的感叹号边界
替换效果验证:
输入文本:
I like ice-cream very much! Oh me too! !be148b3b3992a514839e5d9a3c9b80bf--lego-stormtrooper-stormtroopers (1) (1).jpeg|width=474,height=273!
用空字符串替换匹配到的内容后,输出就是你要的结果:
I like ice-cream very much! Oh me too!
你之前用的!.*?!会匹配所有感叹号之间的内容,不管有没有图片后缀,所以才会误删不含后缀的部分,这个正则加了必须包含.jpeg或.png的判断,只会命中你想移除的目标内容。
内容的提问来源于stack exchange,提问作者Linda D'amario
相关产品推荐
相关产品推荐

