如何使用QT RegExp从字符串中提取子字符串列表,例如,如果我有此输入字符串"qjkfsjkdfn 54df#Sub1#sdkf ++sdf #Sub2#q qfsdf445#Sub3#sdf"
我希望使用"Sub1"
RegExp获取包含"Sub2"
,"Sub3"
和"(#.+#)"
的列表。
答案 0 :(得分:2)
您可以使用以下代码:
QRegExp rx("#([^#]+)#"); // create the regular expression
string text = "qjkfsjkdfn 54df#Sub1#sdkf ++sdf #Sub2#q qfsdf445#Sub3#sdf";
int pos = 0;
while ( (pos = rx.search(text, pos)) != -1 ) // while there is a matching substring
{
cout << rx.cap(1); // output the text captured in group 1
}