3
我可以使用C++ std::regex該片段中提取的四個線串:匹配上不同的以C線的數目++的std :: regex_replace
std::regex table("(<table id.*\n.*\n.*\n.*>)");
const std::string format="$&";
std::cout <<
std::regex_replace(tidy_string(/* */)
,table
,format
,std::regex_constants::format_no_copy
|std::regex_constants::format_first_only
)
<< '\n';
tidy_string()
返回std::string
和代碼產生以下輸出:
<table id="creditPolicyTable" class=
"table table-striped table-condensed datatable top-bold-border bottom-border"
summary=
"This table of Credit Policy gives credit information (column headings) for list of exams (row headings).">
如何在具有不同數量的線條而不是四條線條的文字上匹配?例如:
<table id="creditPolicyTable" summary=
"This table of Credit Policy gives credit information (column headings) for list of exams (row headings).">
或:
<table id="creditPolicyTable"
class="table table-striped table-condensed datatable top-bold-border bottom-border"
summary="This table of Credit Policy gives credit information (column headings) for list of exams (row headings)."
more="x"
even_more="y">
你可以使用'(
那些後來的
順便說一句,上面使用的'。*'運算符是「貪婪」,即他們儘量匹配儘可能多的字符,這可能是一個問題,如果你有一個非常長的文件,裏面有很多「
回答
你應該使用std :: regex_search懶洋洋地搜索任何東西,但 '>' 字符。像這樣:
來源
2017-08-21 13:26:58
相關問題