Toon posts:

[c++] QRegExp werkt niet, kregexpeditor wel?!

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Na een aantal dagen prutsen met regexp (klein beetje basiservaring) onder KDE (ben bezig met schrijven van een KDE/QT applicatie), en het niet aan de praat krijgen ervan, kwam ik het tooltje kregexpeditor tegen. Heel handig :), dus ik een mooie regexp opgesteld, die volgens kregexpeditor ("QT language" geselecteerd) helemaal in orde is, maar in mijn applicatie werkt het mooi niet!

Dit is de input:
code:
1
path["lame"] = "/usr/bin/lame";


en dit is m'n regexp-object en controle:
code:
1
2
3
4
5
6
7
8
QString progName, progPath, rline; 
QRegExp rexp("path\\[\"(\w*)\"\] = \"[/\w]*\";")
rline = "path[\"lame\"] = \"/usr/bin/lame\";"
if (rexp.search(line) != -1){
  // Hier komt ie al niet!
  progName = rexp.cap(1);
  progName = rexp.cap(2);
}


Op het moment dat ik als regexp
code:
1
path.*

neem, dan werkt het nog wel, maar
code:
1
path\\[.*

werkt al niet meer...

Iemand enig idee wat er hier mis is?

Verwijderd

Topicstarter
Ik kom er net achter dat je dubbele backslashes moet gebruiken om te escapen... Voor de search:
code:
1
QRegExp rexp("path\\[\"(\w*)\"\] = \"[/\w]*\";")


moet dus zijn:

code:
1
QRegExp rexp("path\\\[\"(\\w*)\"\\] = \"[/\\w]*\";")

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

En begrijp je ook waarom?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
tikje offtopic:

Het ziet eruit alsof je een config bestand wil parsen. Dan kun je misschien ook gebruik maken van KConfig / KConfig XT.

"He took a duck in the face at two hundred and fifty knots."