如何用正则表达式定位#asset:并提取其两侧引号间的字符?
当然可以用正则表达式实现,给你具体方案:
直接用这个正则表达式
"([^"]*#asset:[^"]*)"
原理说明
- 双引号
"用来定位内容的前后边界,确保只抓取引号内部的内容 [^"]*匹配任意数量的非引号字符,避免超出当前引号的范围#asset:精准锁定你要找的标记,括号()会把包含该标记的整个引号内内容捕获为分组,方便直接提取
示例测试结果
针对你给出的字符串,这个正则会捕获到目标内容:Brownfields1.png#asset:919,完全符合你的提取需求。
实际使用提示
不管是用SQL自带的正则函数(比如MySQL的REGEXP_SUBSTR),还是用Python、Shell脚本处理SQL dump文件,这个正则都能直接套用。如果dump里存在转义引号这类特殊情况,再微调正则即可,常规场景下这个写法足够应付。
内容的提问来源于stack exchange,提问作者Steve Mock
相关产品推荐
相关产品推荐

