如何提取字符串中VAR与X之间的内容并将匹配结果存为变量
正则匹配内容提取方案
提取整个VAR.*X匹配到的内容
直接使用字符串的match()方法即可,匹配成功后返回的数组第0项就是完整匹配内容:
const originStr = '1234VAR239582358X'; const regex = /VAR.*X/; const matchRes = originStr.match(regex); if (matchRes) { const target = matchRes[0]; // 变量值为 VAR239582358X }
提取VAR和X之间的内容
给正则加捕获组即可,括号包裹的部分会单独放到匹配结果的对应索引位:
const originStr = '1234VAR239582358X'; // 用括号把需要提取的中间部分包为捕获组 const regex = /VAR(.*)X/; const matchRes = originStr.match(regex); if (matchRes) { const fullMatch = matchRes[0]; // 完整匹配内容:VAR239582358X const betweenContent = matchRes[1]; // 中间内容:239582358 }
特殊场景适配
- 如果要避免贪婪匹配(匹配到第一个出现的X就停止),把正则修改为
/VAR(.*?)X/即可 - 如果需要多次循环匹配,可使用正则对象的
exec()方法,用法和match()基本一致
内容的提问来源于stack exchange,提问作者lendo
相关产品推荐
相关产品推荐

