gpt4 book ai didi

c++ - 使用不匹配单词的正则表达式链捕获

转载 作者:太空狗 更新时间:2023-10-29 21:43:38 25 4
gpt4 key购买 nike

我想捕获两次出现的单词 SAT 之间且不包含 SAT 的字符串。到目前为止我发现了这个,它不起作用

QLatin1String(".*SAT([^(SAT)]*)SAT.*")

我担心 [^(SAT)]* 没有做我想做的事情,即找到一个不包含单词 SAT 的字符串。或者也许我的捕获方式不好:

QRegExp rx(pat);
int p = 0;
QString cap = QString::null;

if((p = rx.indexIn(str, p)) != -1)
cap = rx.cap(1).trimmed();

最佳答案

试试这个:

(?<=SAT)(.+?)(?=SAT)

它实际上做的是回顾和展望SAT。 .

如果你想测试每个字符串并使用整个字符串作为样本,那么只需使用这个修改版本:^(?<=SAT)(.+?)(?=SAT)$


顺便说一句,刚刚尝试了这个 ( SAT([^(SAT)]+)SAT ),它似乎也能正常工作。这是一个演示:http://regex101.com/r/fJ4gO5

关于c++ - 使用不匹配单词的正则表达式链捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22250555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com