Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

regex_match aus boost::lib will nicht so wie ich

Empfohlene Antworten

Hallo!

nach langem hin und her habe ich mir für meinen Borland C++ Builder 6.0 die Regex.Lib von Boost installiert. Jetzt benutzt man ja die Funktion regex_match() um vergleiche durchzuführen.

ich habe folgende Begrifflichkeiten:

- recklinghsn orthlostr nr 190

- recklinghausen

Nun Ziel ist es zu schauen ob "recklinghausen" in dem ersten String steht. Hierzu prüfe ich im ersten durchlauf mit:

recklinghausen[a-z|0-9].*

weil das natürlich kein match ergibt, muss der String gekürzt werden auf recklinghause, recklinghaus usw.

DANN, wenn der Punkt "recklingh[a-z|0-9].*" erreicht ist, gibt es immernoch kein Match - obwohl es doch so sein sollte oder? Der Regex Coach findet den Ausdruck auch klasse :cool: Oder ist mein Ausdruck doch falsch?

Die alte Edit:

ein weiteres Highlight meines Codes ist, dass nach dem oben genannten String kein vergleich mehr ein match hervorbringt. Obwohl Strings mit dem gleichen Aufbau, wie die vorher gematchten, geprüft werden... naja aber dazu müsst man wahrscheinlich meinen ganzen Code haben - das wäre hier etwas viel. Ich hab das Prob mit dem Debugger auf regex_match eingegrenzt.

kommt schon leute :( HIIILFEEEE

muss man irgendwas beachten bei der Verwendung von regex_match()? was weiß ich... speicherbereich mit irgendeiner anderen funktion wieder freigeben oder ... ja keine ahnung... :confused:

Oklino']kommt schon leute :( HIIILFEEEE
Bitte kein Threadpushing -> Siehe Boardregeln :mod:

muss man irgendwas beachten bei der Verwendung von regex_match()? was weiß ich... speicherbereich mit irgendeiner anderen funktion wieder freigeben oder ... ja keine ahnung... :confused:
Man könnte natürlich in die Dokumentation schauen. Da du leider nicht verraten hast, mit welchen Parametern du regex_match aufrufst - gerade die Flags wären interessant gewesen - kann man nur raten:

Schließ dein Pattern doch einfach mal in Slashes ein: /recklingh[a-z|0-9].*/

oh ja selbstvertändlich... sorry:


strE = strListOrte->Strings[0].c_str(); //recklingh[a-z| |0-9].*

s = dinohsname.c_str();                    //recklinghausen orthlostr nr 160

static const boost::regex e(strE);

bMatch = regex_search(s, e);

das ist der ganze Code für den Abgleich. Werde mal das mit dem / ausprobieren

EDIT: hmm in slashes einschließen klappte auch nicht. Die Dokumentation habe ich "versucht" hinzu zu ziehen, aber da meine Englischkenntnisse dafür leider nicht ausreichen, habe ich arge Verständnisprobleme mit der regex doku :(

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.