正則表達式
- 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