2017-04-18 349 views
0

我cuestion是: 有一種方法來搜索兩個或多個字符串(結果集) @ FILTRO->setFilterFixedString(searchText1); FILTRO->setFilterFixedString(searchText2); @ 我已經知道如何找到具有兩個將QString交集,或者乾脆只是其中之一,但不是說有串的一個或另一個或兩個setFilterFixedString多個字符串

工會謝謝

回答

0

您必須使用正規表示你的目的。嘗試setFilterRegExp像這樣的東西:

const QString firstString = "Hello"; 
const QString secondString = "Bye"; 
const QString exp = QString("/^.*?(?:\b|_)%1(?:\b|_).*?(?:\b|_)%2(?:\b|_).*?$/m").arg(firstString, secondString); 
QRegExp regExp(exp); 

現在在QSortFilterProxyModel類使用此expresion。

我沒有測試這個表達式,只是一個例子。你會在這個鏈接中找到完整的解釋:Regular expression to find two strings anywhere in input