Boost Regex Lookahead



  • Bisher ist es mir noch nicht gelungen ein Leerzeichen gefolgt von "EURO" (Beispiel aus dem Netz) zu matchen.

    #include <iostream>  // NOLINT
    #include <string>
    
    #include "boost/regex.hpp"
    
    int main() {
      std::string input(" EURO");
      boost::regex expression("^\\s(?=EURO)$");
      boost::match_results<std::string::const_iterator> what;
      if (boost::regex_match(input, what, expression)) {
        std::cout << "Match\n";
        for (int i = 0; i < what.size(); ++i) {
          std::cout << "<" << what[i].str() << ">\n";
        }
      }
      return 0;
    }
    

    Was habe ich falsch verstanden? Möglicherweise lassen sich Pfade aus Logfiles mittels Lookahead auslesen. In folgendem Beispiel enthält der Pfad Leerzeichen und [], was die Sache verkompliziert:

    c:\test folder\out\d4af88[B]433[NsPack] [L] Special-Name
    

    Danke im Voraus!
    T.



  • Tomahawk schrieb:

    Bisher ist es mir noch nicht gelungen ein Leerzeichen gefolgt von "EURO" (Beispiel aus dem Netz) zu matchen.

    ^ EURO
    

    ?


Anmelden zum Antworten