QRegExp

Alles rund um die Programmierung mit Qt
Antworten
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

QRegExp

Beitrag von CaptnChaos »

Hallo!
Ich habe ein Problem mit QRegExp.
Folgenden Text möchte ich Filtern:
Divide clock by 8 internally; [CKDIV8=0]
Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms; [CKSEL=0000 SUT=00]
Und zwar nach
[CKSEL=0000 SUT=00]
bzw
[CKDIV8=0]
Dafür habe ich mir diesen RegExp zurechtgemacht:

Code: Alles auswählen

(\w+=\d+)
Das funktioniert auch so weit, solange ich nur eine zuweisung mit '=' habe. Kommt eine Zweite dazu wird diese nicht erkannt. (Also CKSEL=0000 wird erkannt, nicht aber SUT=00).
Zusätzlich wärs noch schön, wenn der RegExp mir die Ergebnisse direkt aufteilt, in den String und die Zahlenfolge.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Mit

Code: Alles auswählen

(\w+)=(\d+)
bekommst du getrennte Ergebnisse. Sollten weitere Treffer in der zeile sein, ist in der RegEx-Doku beschrieben, wie man weitersucht.
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

Ja. Ich wollte die Schleife vermeiden und hatte gehofft das man mit einer anderen regexp erreicht, dass alle Ergebnisse per cap(int index) abrufen kann..
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn du weist wieviele Treffer du max. erwartest könntest du deine RegEx entsprechend erweitern.
Antworten