QRegularExpression::Wildcard
时间: 2023-07-05 18:36:46 浏览: 49
QRegularExpression::Wildcard 是 Qt 提供的一种通配符匹配模式,用于匹配符合一定规则的字符串。它是 QRegularExpression 类的一种匹配模式之一。
QRegularExpression::Wildcard 支持以下通配符:
1. * (星号):表示匹配任意数量的任意字符,包括零个字符。
2. ?(问号):表示匹配任意单个字符,不包括空字符。
与正则表达式类似,QRegularExpression::Wildcard 也可以使用反斜杠来转义特殊字符。
例如,假设有以下字符串:
```cpp
QString str1 = "Hello, world!";
QString str2 = "Hello, Qt!";
QString str3 = "Bye, world!";
```
如果要匹配所有以 "Hello," 开头的字符串,可以使用 QRegularExpression::Wildcard 模式 "Hello,*",其中 * 表示匹配任意数量的任意字符。如果要匹配所有以 "world!" 结尾的字符串,可以使用 QRegularExpression::Wildcard 模式 "*,world!",其中 * 表示匹配任意数量的任意字符。
QRegularExpression::Wildcard 的使用方法与其他匹配模式类似,可以通过 QRegularExpression 类的 setPattern 方法设置匹配模式,然后使用 QRegularExpressionMatch 进行匹配。
相关问题
makefile中:=
在Makefile语法中,:=是一种赋值方式,用于将变量定义为简单变量。这种方式定义的变量是非递归的,即变量的值在定义时被计算,而不是在使用时被计算。
例如,以下是在Makefile中使用:=定义变量的示例:
```
SRC_FILES := main.cpp foo.cpp bar.cpp
```
这个语句定义了一个名为SRC_FILES的变量,它包含了三个源文件的文件名。在这个例子中,SRC_FILES是一个简单变量,其值在定义时被计算。
如果要将一个变量定义为递归变量,可以使用Makefile中的另一种赋值方式,即使用=运算符:
```
SRC_FILES = $(wildcard *.cpp)
```
这个语句定义了一个名为SRC_FILES的变量,它包含了当前目录下所有的.cpp文件的文件名。在这个例子中,SRC_FILES是一个递归变量,其值在使用时被计算。
需要注意的是,在Makefile中,变量的作用域是全局的,即在整个Makefile中,所有的规则和命令都可以访问同一组变量。因此,需要谨慎使用变量,避免不必要的命名冲突。
wildcard原理
wildcard是GNU Make中的一个函数,用于在makefile中进行文件名的模式匹配。它的原理是通过模式匹配找到指定目录下符合条件的文件,并返回这些文件名的列表。
在给定的目录中,wildcard函数会根据通配符模式匹配文件名,并返回匹配到的文件名列表。通配符可以使用 ? 或 *,分别表示匹配一个字符或任意长度的字符。通配符可以出现在路径的任何位置。
举个例子,假设有一个目录下有三个文件:file1.txt、file2.txt和file3.txt。通过使用wildcard函数,我们可以得到这三个文件的列表:$(wildcard *.txt)。
需要注意的是,wildcard函数的性能相对较慢。如果不是必要的情况下,应尽量避免在makefile的开头使用通配符 ? 或 *,以免降低查询性能。
综上所述,wildcard函数的原理是根据指定的通配符模式,在给定目录中进行文件名的模式匹配,并返回匹配到的文件名列表。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [linux_makefile文件编写,基本规则、工作原理、模式规则,wildcard函数、patsubst函数](https://blog.csdn.net/qq_44177918/article/details/129699110)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [Es 模糊查询 match,wildcard](https://blog.csdn.net/qq_35461948/article/details/115722736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)