www.mikrocontroller.net

Forum: PC-Programmierung QT mit QRegExp Stringteile ersetzen durch Teil des Suchmusters


Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Hi,
Ich stell mich grad ein wenig blöd bei der Suche an, vielleicht kann mir
jemand fix helfen.

Ich suche das äquivalent in QT zu folgendem Perl-RegEx:

$text =~ s/\[(.*?)\]/\/\1/g;


Das Problem ist, dass in dem zu ersetzenden Pattern ein Teil der
Fundstelle benötigt wird.

mit
QString text;
QRegExp rex("\\[(.*?)\\]");
text.replace(rex, "/\1");
gehts natürlich nicht.

muss doch einfacher gehen, als das das ganze komplett von Hand zu
machen.


Danke und Gruß,
Vlad
Autor: Rolf Magnus (Gast)
Datum:

text.replace(rex, rex.cap(1));
Autor: Rolf Magnus (Gast)
Datum:

Ach so, das da:

Vlad Tepesch schrieb:
> mit
> QString text;
> QRegExp rex("\\[(.*?)\\]");
> text.replace(rex, "/\1");
> gehts natürlich nicht.

liegt vermutlich daran, daß du das \1 nicht richtig escaped hast. Es
müßte natürlich \\1 heißen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net