|
4. 继续问AI,如何把中间的颜色匹配出来

因为47是白色底,我们需要屏蔽掉,得到代码
- // 提取中间部分
- const match = input.match(/^[^\n]*\n([\s\S]*?)\n[^\n]*$/);
- const middle = match ? match[1] : '';
- // 逐行统计非47颜色的数量(背景色代码)
- const result = middle.split('\n').map(line => {
- const matches = [...line.matchAll(/\x1b\[(\d+);1m/g)];
- // 过滤出非47的颜色代码
- const non47 = matches.filter(m => m[1] !== '47');
- return non47.length;
- });
- console.log(result); // 输出:[2, 0, 1, 1, 0]
复制代码 5. 我们只需要把console.log 换成 sys.info 就可以填到触发器对应的代码里了,参考前面的图
6. 执行验证效果

最后的[0,0,0,2,0,0,1,1] 就是我想要的,不过这个正则匹配多了,可以改进
7. 剩下的就是把这个记录下来,然后在相应的地方遍历,如果遍历到同样的,2,0,0,1,1就匹配上了,还可以加上颜色的标识就更准确了
|
|