C++中的正则表达式
时间: 2023-10-08 07:12:46 浏览: 102
C语言中的正则表达式是通过标准库提供的regex来支持的。在使用正则表达式之前,需要包含头文件regex。为了匹配字符串,可以使用regex_match函数。regex_match函数可以理解为全匹配,需要与待匹配字符串格式保持一致。在正则表达式中,可以使用一些特殊字符和符号来定义匹配的规则,如"."代表任意字符,"*"代表匹配前面的字符任意次数,"^"代表以某个字符开头,"$"代表以某个字符结尾等等。
在C语言中,可以使用regex_match函数来进行字符串匹配。下面是一个示例代码:
#include <iostream>
#include <regex>
#include <string>
int main(int argc, char** argv) {
while (1) {
std::string inputData;
std::getline(std::cin, inputData);
std::regex regexStr("^A.*"); // 以A开头的字符串的正则表达式
std::smatch matchResult;
if (std::regex_match(inputData, matchResult, regexStr)) {
std::cout << "Matched" << std::endl;
for (auto ele : matchResult) {
std::cout << ele << std::endl;
}
} else {
std::cout << "Not matched" << std::endl;
}
}
return 0;
}
这段代码会不断读取用户输入的字符串,并使用正则表达式"^A.*"进行匹配。如果字符串以A开头,则匹配成功,输出"Matched";否则,输出"Not matched"。
阅读全文