我有一個正則表達式的問題。捕獲多個文本。
考慮,我們有一個字符串
S= "[sometext1],[sometext],[sometext]....,[sometext]"
的「sometexts」的數量是未知的,這是用戶的輸入,並且可以從一個變化到..for例如,1000。
[sometext]是一些字符序列,但它們中的每一個都不是「,」,所以我們可以說[^,]。
我想通過一些正則表達式捕獲文本,然後遍歷循環中的文本。
QRegExp p=new QRegExp("???");
p.exactMatch(S);
for(int i=1;i<=p.captureCount;i++)
{
SomeFunction(p.cap(i));
}
例如,如果sometexts數爲3,我們可以用這樣的:
([^,]*),([^,]*),([^,]*).
所以,我不知道寫什麼,而不是「???」任何任意的n。 我正在使用Qt 4.7,我沒有找到如何在類參考頁面上做到這一點。
我知道我們可以通過循環來做到沒有regexps或者循環生成正則表達式本身,但是這些解決方案並不適合我,因爲實際問題比這更復雜一點..
正則表達式無法創建無限數量的捕獲組... – Nightfirecat