정규 표현식에 문제가 있습니다.여러 텍스트를 캡처하십시오.
우리가 문자열을
S= "[sometext1],[sometext],[sometext]....,[sometext]"
은 "sometexts"의 수를 고려가 사용자의 입력이고, 1000 예를 ..for 하나 다를 수 있습니다, 알 수 없습니다.
[sometext]는 일련의 문자이지만 각 문자는 ","가 아니므로 [^,]라고 말할 수 있습니다.
정규식으로 텍스트를 캡쳐 한 다음 주기적으로 텍스트를 반복하고 싶습니다. sometexts의 수가 3 인 경우
QRegExp p=new QRegExp("???");
p.exactMatch(S);
for(int i=1;i<=p.captureCount;i++)
{
SomeFunction(p.cap(i));
}
예를 들어, 우리는 다음과 같이 사용할 수 있습니다
([^,]*),([^,]*),([^,]*).
을 그래서 내가 대신 "???"의 작성 모르겠어요 임의의 n에 대해. Qt 4.7을 사용 중입니다. 클래스 참조 페이지에서이 작업을 수행하는 방법을 찾지 못했습니다.
우리는 정규식이없는 사이클을 통해이를 수행하거나 주기적으로 정규식을 생성 할 수 있음을 알고 있지만 실제 문제는 이보다 조금 복잡하기 때문에이 솔루션이 적합하지 않습니다.
Regexes는 무제한의 캡처 그룹을 만들 수 없습니다 ... – Nightfirecat