例子:
QFile controller_selected_file(loaded_file);
if (controller_selected_file.open(QIODevice::ReadOnly))
{
// grab a data
QTextStream in(&controller_selected_file);
// read all
QString read_data = in.readAll();
// Regex for match function "public function something()"
QRegExp reg("(static|public|final)(.*)function(.*)[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]", Qt::CaseInsensitive);
// Read by regex and file
reg.indexIn(read_data);
QStringList data_render = reg.capturedTexts();
qDebug() << data_render;
qDebug() << data_render[0];
qDebug() << data_render[1];
qDebug() << data_render[3];
// ...
}
我想抓取一个文件中所有出现的位置public function somefunction()
和另一个public function something($a,$b = "example")
出现在文件中的位置,但我只收到完整的文件字符串或仅public
在第一个数组上接收。
所以我想抓取所有显示为数组的数据:
public function somefunction()
.
所以很简单,解析文件中的所有函数名。
QRegexp 表达式中正则表达式的完整功能:
(static|public|final)(.*)function(.*)[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]
编辑:我想抓取所有出现在 PHP 文件中的字符串。当您收到文件中的所有字符串而不是使用正则表达式定义的字符串时,就会出现问题。
谢谢你的尊重!