Iは、次の正規表現しようとした:私は、正規表現が完全に正確であろうと予想し、グループが発見されるC++正規表現での改行のマッチング方法は?
const static char * regex_string = "([a-zA-Z0-9]+).*";
void find_first(const std::string str);
int main(int argc, char ** argv)
{
find_first("0s7fg9078dfg09d78fg097dsfg7sdg\r\nfdfgdfg");
}
void find_first(const std::string str)
{
std::cout << str << std::endl;
std::regex rgx(regex_string);
std::smatch matcher;
if(std::regex_match(str, matcher, rgx))
{
std::cout << "Found : " << matcher.str(0) << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
}
を。しかし、そうではありませんでした。どうして? C++の正規表現で改行をどのように一致させることができますか? Javaではうまく動作します。
正規表現IIRCでは '$'です。 –
'。*'の代わりに '(。| \ r \ n)*'をマッチさせましたか? – Zereges