Ken*_*enB 1 c++ regex
我在 C++ 中有以下使用正则表达式的语句:
if (regex_match(argv[i], regex(R"((.*)\.o)")))
我现在的问题是它是做什么的regex(R"((.*)\.o)")"?我知道外部 regex_match 函数检查是否argv[i]等于由逗号分隔的第二条语句。如果它们相等则计算结果为 true,如果不相等则计算结果为 false。
regex(R"((.*)\.o)")"
argv[i]
Sha*_*awn 5
regex(XXXX)创建一个新std::regex对象,根据具体内容调用适当的构造函数XXXX。在本例中,它是该列表中的第二个。
regex(XXXX)
std::regex
XXXX
因为...
R"(...)"是一个原始字符串文字,它允许您在正则表达式中使用反斜杠之类的东西,而不必像在普通字符串文字中那样对它们进行转义。
R"(...)"
如果您不知道正则表达式本身匹配什么,甚至不知道正则表达式是什么......这是一个更大的主题,并且有很多教程可以让您开始。
(在我看来,使用std::regex_search()和 RE\.o$是更好的写法,或者是根本不使用 RE 的方法。)
std::regex_search()
\.o$
归档时间:
7 年,9 月 前
查看次数:
2515 次
最近记录: