本文整理汇总了C++中kopete::Message::regexpPatterns方法的典型用法代码示例。如果您正苦于以下问题:C++ Message::regexpPatterns方法的具体用法?C++ Message::regexpPatterns怎么用?C++ Message::regexpPatterns使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kopete::Message
的用法示例。
在下文中一共展示了Message::regexpPatterns方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
QStringList Kopete::ChatSession::findUrls(const Kopete::Message &msg )
{
Kopete::Message message = msg;
//we check the message for every pattern
QString tempstr = message.plainBody();
QStringList regexppatterns = message.regexpPatterns();
QRegExp linkregexp;
QMap<int,QString> mapUrl;
for (int i = 0; i < regexppatterns.size(); ++i) {
linkregexp.setPattern(regexppatterns[i]);
int pos = 0;
while ((pos = linkregexp.indexIn(tempstr, pos)) != -1) {
mapUrl.insert(pos,linkregexp.cap(0));
pos += linkregexp.matchedLength(); }
}
//we use QMap to sort links as they are in the message (if there are many links in one message)
//lasturllist[0] - is the earliest
QStringList lasturllist;
QMapIterator< int, QString > i(mapUrl);
while (i.hasNext()) { i.next(); lasturllist << i.value(); }
lasturllist.replaceInStrings(" ", "");
//add "http://" to link if needed to open it with a browser
lasturllist.replaceInStrings(QRegExp( regexppatterns[1] ), QLatin1String("\\1http://\\2\\3" ));
return lasturllist;
}