Preg match all в pcre Переполнение стека

Привет это моя строка

last_name, first_name
bjorge, philip
kardashian, kim
mercury, freddie

в php я использую preg_match_all (pcre) начать regex процесс

preg_match_all("/(.*), (.*)/", $input_lines, $output_array);

Теперь я установил PCRE на C ++, и я хочу знать, что именно процесс в C ++ PCRE, что равно моему PHP-код? что именно функции в C ++ PCRE, которые работают как PHP preg_match_all ?

-3

Решение

В C ++ 11 регулярные выражения поддерживаются стандартной библиотекой. Таким образом, вам не нужно использовать pcre без каких-либо конкретных причин.

Как и в приведенном выше примере, вы можете добиться того же, используя стандартные регулярные выражения. Например.:

#include <iostream>
#include <string>
#include <regex>

int main()
{
std::vector<std::string> input = {
"last_name, first_name",
"bjorge, philip",
"kardashian, kim",
"mercury, freddie"};

std::regex re("(.*), (.*)");
std::smatch pieces;

for (const std::string &s : input) {
if (std::regex_match(s, pieces, re)) {
std::cout << "Pieces: " << pieces.size() << std::endl;
for (size_t i = 0; i < pieces.size(); ++i) {
std::cout << pieces[i].str() << std::endl;
}
}
}

return 0;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]