• 1293阅读
  • 5回复

[提问]一个提取字符串的正则表达式不工作,别的工具是ok的 [复制链接]

上一主题 下一主题
离线lanmanck
 

只看楼主 倒序阅读 楼主  发表于: 2021-10-15
大虾们:
用工具提取表示ok:


然后qt却只得到\033,我要得到\033[xxxm这2段的:



还有,居然提示没安装flash插件不能上传图片,这都什么年代了还要flash???
精彩博客:labisart.com
离线jackhsu

只看该作者 1楼 发表于: 2021-10-15
\\\\033\[[\\d;]+m
用这个pattern试试,还要用QRegularExpressionMatchIterator, 后用iterator.hasNext()来历遍。
离线jackhsu

只看该作者 2楼 发表于: 2021-10-15
大意了!写少了一根反斜杠,正确应该为:
\\\\033\\[[\\d;]+m
离线lanmanck

只看该作者 3楼 发表于: 2021-10-16
回 jackhsu 的帖子
jackhsu:大意了!写少了一根反斜杠,正确应该为:
\\\\033\\[[\\d;]+m (2021-10-15 17:37) 

用 \\033\\[[\\d;]+m 可以,4个\\\\不行。
还必须要 QRegularExpressionMatchIterator,为啥用 capture(x) 这些得不到后面的呢?只能得到
capture(0)
感觉帮助一点都不靠谱啊?
精彩博客:labisart.com
离线jackhsu

只看该作者 4楼 发表于: 2021-10-16
\\\\033\\[[\\d;]+m(.*)
再用capture(1)读m字母后的内容。如果只搜到“abcdf\033[0misEnd”, 那就用非贪婪模式再试试
离线lanmanck

只看该作者 5楼 发表于: 2021-10-16
按我说的就可以,非常感谢。
精彩博客:labisart.com
快速回复
限100 字节
 
上一个 下一个