Привет это моя строка
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
?
В 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;
}
Других решений пока нет …