您好,登錄后才能下訂單哦!
C++ 標準庫中的
[a-z]
匹配小寫字母,[0-9]
匹配數字。.
匹配任意字符(除換行符),*
表示前面的字符或子表達式可以重復零次或多次。\
表示的字符,例如 \d
匹配數字,\w
匹配單詞字符。()
將子表達式分組,|
表示選擇,例如 (abc|def)
匹配 “abc” 或 “def”。?
表示前面的子表達式可以出現零次或一次,+
表示可以出現一次或多次。^
表示字符串開始,$
表示字符串結束。#include<iostream>
#include<regex>
#include<string>
int main() {
std::string input = "The quick brown fox jumps over the lazy dog";
std::regex pattern("the (\\w+)"); // 匹配 "the" 后跟一個單詞
// 使用 regex_search 搜索匹配項
std::smatch match;
if (std::regex_search(input, match, pattern)) {
std::cout << "Match found: "<< match.str()<< std::endl;
std::cout << "Captured word: "<< match[1].str()<< std::endl;
} else {
std::cout << "No match found"<< std::endl;
}
// 使用 regex_replace 替換匹配項
std::string replaced = std::regex_replace(input, pattern, "a $1");
std::cout << "Replaced: "<< replaced<< std::endl;
return 0;
}
在這個示例中,我們首先創建了一個正則表達式模式 the (\\w+)
,用于匹配以 “the” 開頭的短語。然后,我們使用 std::regex_search
函數在輸入字符串中查找匹配項,并使用 std::regex_replace
函數替換匹配項。
注意,由于 C++ 中的字符串字面量使用雙引號,因此需要使用兩個反斜杠 \\
來表示一個反斜杠。在正則表達式中,反斜杠用于轉義特殊字符,因此需要使用兩個反斜杠來表示一個字面量反斜杠。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。