正则表达式
- regular expression
- 一种字符串匹配的模式(pattern)
常见的特殊字符
特殊字符 | 描述 |
---|---|
^ | 匹配起始位置 |
$ | 匹配结束位置 |
() | 子表达式 |
. | 匹配除了换行符\n之外的任意一个字符 |
+ | 匹配前面的子表达式一次或多次 |
* | 匹配前面的子表达式零次或多次 |
? | 匹配前面的表达式零次或一次 |
[ ] | 范围表达式,例如[0-9]匹配0到9的任意一个 |
{n,m} | 限定前面的子表达式的匹配次数为n到m次 |
{n} | 匹配n次 |
{n,} | 匹配最少n次 |
特殊字符在[ ]中只会匹配自身,例如[.]只会匹配
.
这个字符,等价于\.
^
和[^
指定的字符串]之间的区别:
^
指的是匹配字符串开始的位置
[^
指定字符串] 指的是除指定字符串以外的其他字符串
附上一个教程链接:正则表达式30分钟入门教程
C++中的正则表达式库
- c++11之后加入标准库,
#inlude<regex>
- 创建一个正则表达式对象
std::regex reg(pattern)
- 常用的就是三个模板函数
regex_match
regex_search
regex_replace
regex类API: std::regex
regex代码实例博客:std::regex