ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
347
347
EMPFEHLEN
-
16.01.12 16:34 #1
- Registriert seit
- Jun 2009
- Beiträge
- 26
Hallo.
Ich brauche eine Regular Expression, die Strings erkennt.
Idee dazu ist:
Strings fangen mit Quotes an und hören mit ihnen auf. Alle Quotes in einem String haben \ vorangestellt um sie zu escapen.
Also kam ich zu folgender Expression:
Entweder ein \ gefolgt von jedem beliebigen Zeichen oder jedes Zeichen außer ".Code :1
\"(\\.|[^\"])*\"
Diese Expression müsste ja dann den Ausdruck \" matchen!
Tut sie aber nicht...
Code :1 2 3
const boost::regex regex_expression( "\"((\\.)|[^\"])*\"" ); std::string str = "\\\""; boost::regex_match( str, regex_expression);
Mache ich da irgendetwas falsch?
-
16.01.12 16:45 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Um einen Backslash in einem reg. Ausdruck zu matchen, mußt du ihn doppelt escapen:
1. weil er Teil eines Stringliterals ist
2. weil ein Backslash auch ein Escapezeichen in reg. Ausdrücken ist.
Du mußt also vier Backlashes schreiben.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
16.01.12 16:53 #3
- Registriert seit
- Jun 2009
- Beiträge
- 26
Danke

Hatte es ind er Zwischenzeit auch gemerkt.. kaum postet man sowas irgendwo, findet man auch selbst den Fehler..
Danke für die schnelle Hilfe
Ähnliche Themen
-
Regular Expression
Von weber_julian im Forum PHPAntworten: 3Letzter Beitrag: 28.12.11, 16:57 -
Regular Expression
Von Napofis im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 04.08.09, 15:51 -
[VBS]Regular Expression
Von Dark Ranger im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 19.10.07, 09:59 -
Regular Expression
Von DrOverflow im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 2Letzter Beitrag: 23.01.07, 09:16 -
regular expression
Von hudo im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 2Letzter Beitrag: 26.08.04, 16:37





Zitieren
Login






