Regular Expression neue Regel WICHTIG!!! Termin!!!

Alles rund um die Programmierung mit Qt
Antworten
Krug-Systems.de
Beiträge: 21
Registriert: 18. März 2007 21:01
Wohnort: Immenstadt
Kontaktdaten:

Regular Expression neue Regel WICHTIG!!! Termin!!!

Beitrag von Krug-Systems.de »

Guten Morgen,

Code: Alles auswählen

QRegExp rx("^((?:(?!Fa\\.)[^()])*)(?:\\((.*)\\))?(Fa\\..*)?$");	
if (rx.indexIn(typ) != -1)
{
   typ	                = rx.cap(1);   // typ          = Bezeichnung
   language	= rx.cap(2);   // language  = Sprache 
   service		= rx.cap(3);   // service     = Firma
}
mit diesem Code Splite ich im Moment mein meinen String auf Bezeichnung, Sprache und Firma irgendwie tut das aber nicht richtig. bzw meine annahme der String logik war falsch.

String Varianten:
xxxxxxx Fa. aaaaaaaa (Sprache)
oder
xxxxxxx (Sprache) Fa. aaaaaaaa

Bitte kann mir jemand helfen ne neue Regel zu schreiben ....

MFG Danke ist Wichtig ......
MFG Andy
Wer aufgehört hat besser zu werden, hat aufgehört gut zu sein!!!
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Warum muss das in eine Expression? Mach mehrere daraus. Ist schnell erledigt und einfacher zu warten.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Krug-Systems.de
Beiträge: 21
Registriert: 18. März 2007 21:01
Wohnort: Immenstadt
Kontaktdaten:

Beitrag von Krug-Systems.de »

wie sehen die dann aus ?
kenn mich an dieser ecke kaum aus, war froh das ich des eine mal so hin gebracht habe . :wink:
MFG Andy
Wer aufgehört hat besser zu werden, hat aufgehört gut zu sein!!!
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Z.B.

Code: Alles auswählen

#include <QDebug>
#include <QRegExp>
#include <QString>

int main(void)
{
	QString service, lang, typ;
	QString str1("xxxxxxx Fa. aaaaaaaa (dütsch) ");
	QString str2("xxxxxxx (engelisch) Fa. bbbbbb ");

	// für Firma
	QRegExp rx("Fa\\.\\s(.*)\\s");
	rx.setMinimal(true);
	if (rx.indexIn(str1) != -1)
		service      = rx.cap(1);

	if (rx.indexIn(str2) != -1)
		service      = rx.cap(1);

	// für Sprache
	rx.setPattern("\\((.*)\\)");
	if (rx.indexIn(str1) != -1)
		lang      = rx.cap(1);

	if (rx.indexIn(str2) != -1)
		lang      = rx.cap(1);

	return 0;
} 
An den Typ kommst Du wohl mit einem einfachen indexOf.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Re: Regular Expression neue Regel WICHTIG!!! Termin!!!

Beitrag von gerome69 »

Sorry, bei einem solchen Subjekt mit Gebrülle wird dir wohl niemand wirklich helfen wollen. Höflichkeit ist eine Zier...

Gruß, Gérôme
Zandru
Beiträge: 84
Registriert: 29. Mai 2007 15:35

Beitrag von Zandru »

ich hab grade schon nen Schreck bekommen, was für einen Termin ich verpasst habe. Warum brüllst du uns so an?
Krug-Systems.de
Beiträge: 21
Registriert: 18. März 2007 21:01
Wohnort: Immenstadt
Kontaktdaten:

Beitrag von Krug-Systems.de »

sorry jungs, war nicht so gemeint,
wollte damit sagen ich hab morgen termin mit fertigstellung dieser software und häng noch an dieser abfrage.

Aber tut mir leid, wenn ihr euch geträngt gefühlt habt.
.... 8)
MFG Andy
Wer aufgehört hat besser zu werden, hat aufgehört gut zu sein!!!
Antworten