C++ 用c+获取带有正则表达式的句子+;
我需要从带有单词“walk”的字符串中获取带有正则表达式的句子。现在我只是想得到一些句子C++ 用c+获取带有正则表达式的句子+;,c++,regex,C++,Regex,我需要从带有单词“walk”的字符串中获取带有正则表达式的句子。现在我只是想得到一些句子 std::string s ("Hello world! My name is Mike. Why so serious?"); std::smatch m; std::regex e ("^\\s+[A-Za-z,;'\"\\s]+[.?!]$"); // matches words beginning by "sub" while (std::regex_search (s,m,e)) {
std::string s ("Hello world! My name is Mike. Why so serious?");
std::smatch m;
std::regex e ("^\\s+[A-Za-z,;'\"\\s]+[.?!]$"); // matches words beginning by "sub"
while (std::regex_search (s,m,e)) {
for (auto w:m)
std::cout << w << "\n" ;
}
std::string s(“你好,世界!我叫迈克,为什么这么严肃?”);
std::smatch m;
std::regex e(“^\\s+[A-Za-z,;”\“\\s]+[.?!]$”;//匹配以“sub”开头的单词
while(std::regex_搜索(s,m,e)){
用于(自动w:m)
std::cout除了正则表达式中字符串的开头和结尾之外,您忘记了用后缀更新“s”
#include <iostream>
#include <regex>
int main()
{
std::string s ("Hello world! My name is Mike. Why so serious?");
std::smatch m;
std::regex e ("\\s?[A-Za-z,;'\"\\s]+[.?!]");
while(std::regex_search (s,m,e))
{
std::cout << m.str() << "\n" ;
s = m.suffix();
}
return 0;
}
#包括
#包括
int main()
{
字符串s(“你好,世界!我的名字是迈克。为什么这么严肃?”);
std::smatch m;
std::regex e(“\\s?[A-Za-z,;”\“\\s]+[.?!]”);
while(std::regex_搜索(s,m,e))
{
std::cout字符串匹配的开始和结束可能是你的正则表达式的绊脚石。建议链接是不寻常的,但是看看,这是一个很棒的正则表达式构建工具。