我有正则表达式的问题。
考虑我们有一个字符串
S= "[sometext1],[sometext],[sometext]....,[sometext]"
“sometexts”的数量是未知的,它是用户的输入,可以从 1 到 ..例如 1000 不等。
[sometext] 是一些字符序列,但每个字符都不是“,”,所以,我们可以说 [^,]。
我想通过一些正则表达式捕获文本,然后循环遍历文本。
QRegExp p=new QRegExp("???");
p.exactMatch(S);
for(int i=1;i<=p.captureCount;i++)
{
SomeFunction(p.cap(i));
}
例如,如果某些文本的数量是 3,我们可以使用这样的东西:
([^,]*),([^,]*),([^,]*).
所以,我不知道该写什么来代替“???” 对于任意 n。我正在使用 Qt 4.7,我没有在类参考页面上找到如何执行此操作。
我知道我们可以通过没有正则表达式的循环或在循环中生成正则表达式本身来做到这一点,但这些解决方案不适合我,因为实际问题比这更复杂..