{/*** \s* 表示空格、制表符、换行符等* \w* 一个字符串* ()表示提取的位置*/QString Output = "select obid from cey_bt_table where ch_billno = 'Q001' ";QRegExp rx(R"(select\s*(\w*)\s*from\s*(\w*)\s*where\s*(\w*)\s*=\s*'(\w*)'\s*)");rx.indexIn(Output);QStringList qsl = rx.capturedTexts();for(int i=0; i
| Da Data Thing: 0 Da Value Thing: "select obid from cey_bt_table where ch_billno = 'Q001' " Da Data Thing: 1 Da Value Thing: "obid" Da Data Thing: 2 Da Value Thing: "cey_bt_table" Da Data Thing: 3 Da Value Thing: "ch_billno" Da Data Thing: 4 Da Value Thing: "Q001" |
{/*** \d+ 表示重复一次或者多次 1、12、23* \d* 表示重复零次或者多次 _、12、11* \d{2} 表示只能匹配两个字符*/QString Output;Output="Duration: 00:01:25.65, start: 0.050000, bitrate: 5200 kb/s";QRegExp rx = QRegExp(R"(Duration:\s*(\d{2}:\d{2}:\d{2}.\d{2}),\s*start:\s*(\d+\.\d+),\s*bitrate:\s*(\d*)\s*kb/s)");rx.indexIn(Output);QStringList qsl = rx.capturedTexts();for(int i=0; i
运行结果:
| Da Data Thing: 0 Da Value Thing: "Duration: 00:01:25.65, start: 0.050000, bitrate: 5200 kb/s" Da Data Thing: 1 Da Value Thing: "00:01:25.65" Da Data Thing: 2 Da Value Thing: "0.050000" Da Data Thing: 3 Da Value Thing: "5200" |