| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator Registriert seit: 11.05.2008
Beiträge: 6.268
![]() ![]() ![]() ![]() ![]() ![]() ![]() | Für MySQL? Erstmal würde ich preg_quote($bums) schreiben. Statt deinem vorher/nachher Teil benutz Lookahead/Lookbehind-Assertions. Suchst du vielleicht \b (Wortgrenze)? Volltextsuche, LIKE???
__________________ "Nuschel ich?" - "Was?" |
| | |
| | |
| Moderator Registriert seit: 11.05.2008
Beiträge: 6.268
![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ist doch sch* ob das fuer Perl oder nicht ist, RegExp ist groesstenteils allgemeingueltig. Wenn ich fuer andere googlen muss werd ich echt stinkig. Als ob man das nicht selbst machen koennte. http://www.google.com/search?sourcei...ead+assertionl (gleich die erste Seite) Vermutlich ist dein Datenbankkonzept falsch, aber willst ja nix verraten.
__________________ "Nuschel ich?" - "Was?" |
| | |
| | |||
| Erfahrener Benutzer | Zitat:
Zitat:
MySQL scheint zwar keine Assertions, dafür aber POSIX-Character-Classes zu unterstützen. http://dev.mysql.com/doc/refman/5.5/en/regexp.html Aber bevor du das Kodierungsproblem nicht gelöst hast, lohnt es sich nicht, Gedanken zu machen, warum der RegEx nicht "matcht" ...
__________________ Wir schreiben schließlich Code und malen keine ASCII-Bilder. Geändert von fireweasel (06.01.2011 um 17:09 Uhr). | ||
| | |
| | |
| Neuer Benutzer Registriert seit: 06.01.2011
Beiträge: 5
PHP-Kenntnisse: Fortgeschritten ![]() | warum ich so komplexe Suchen benötige: Ich habe >400.000 Datensätze, die zwei Trefferqualitäten besitzen. Die erste Qualität ist "passt" oder "passt nicht", also true oder false Die zweite Qualität ist "passt gut" oder "passt schlecht". Für die erste verwende ich die SQL-Abfrage und reduziere die 400.000 auf z.B. 1.000 Treffer. Diese Treffer packe ich in ein Array, welches danach teilweise mehrfach durchlaufen und nach "gut" oder "schlecht" gefiltert wird. Konkret geht es um Bauteile für Fahrzeuge. Wobei sich die Fahrzeuge in ihren Modellnamen oft nur minimal unterscheiden. Da gibt es dann das Modell Liberty 1.6, das Modell Liberty 1.6i und das Modell Liberty 1.8. Wenn ich nun Bauteile haben will, die beim 1.6i passen, kann ich ja schlecht nach "i" suchen, weil das immer in Liberty gefunden wird. Wenn ich jedoch sage es darf kein Buchstabe/Umlaut direkt davor oder dahinter stehen, dann bekomme ich bei suche nach "1.6" und "i" nur die Treffer für Liberty 1.6i - comprendre? Die Fehlermeldung ist zeimlich unspektakulär: mysql_num_rows(): supplied argument is not a valid MySQL result resource 131 wobei in 131 die Anweisung REGEXP '(?![a-zA-ZäöüßÄÖÜ])".$bums."(?![a-zA-ZäöüßÄÖÜ])') steht. Schöne Grüße partizan |
| | |
| | |
| Neuer Benutzer Registriert seit: 06.01.2011
Beiträge: 5
PHP-Kenntnisse: Fortgeschritten ![]() | neee! Das Vorhandensein von 0 oder mehr Zeichen, die nicht [a-zA-ZäöüßÄÖÜ] sind. Für den Fall dass das gesuchte Item unmittelbar am Beginn des Satzes steht, hilft mir eine Abfrage nach Vorhandensein eines Nichtbuchstabens nix. |
| | |
| | |||
| Erfahrener Benutzer | So, letzer Versuch. Kann man dieses bescheuerte Sicherheiz-Token nicht abschalten oder wenigstens das Zeitfenster verlängern? *grrrrrrr* Zitat:
http://dev.mysql.com/doc/refman/5.5/...-matching.html Nehmen wir mal an, es kennt auch Alternative Subpatterns: REGEXP '(^|[^[:alpha:]])word([^[:alpha:]]|$)' Sollte dann funktionieren. Der "gematchte" String muss dann allerdings oft noch von den Zeichen vor oder hinter dem "bums" gereinigt werden. Wenn man irgendwie an die Subpatterns rankommt, ist das aber machbar. Update: Es geht viel einfacher. Wenn man die Wortgrenzen-Spezialklassen benutzt: REGEXP '[[:<:]]word[[:>:]]' http://dev.mysql.com/doc/refman/5.5/en/regexp.html (am Ende der Seite) Zitat:
__________________ Wir schreiben schließlich Code und malen keine ASCII-Bilder. Geändert von fireweasel (06.01.2011 um 20:37 Uhr). | ||
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Umlaute werden nicht erkannt | Phoenix@ | PHP Tipps 2010 | 8 | 30.08.2010 11:05 |
| Regexp: An Suchstring dürfen keine Buchstaben angrenzen | flowyn33 | Datenbanken | 5 | 09.07.2010 15:57 |
| [Erledigt] PHPMailer und Umlaute | Sirius | PHP Tipps 2010 | 14 | 30.03.2010 15:14 |
| Umlaute und MySQL4.1 | Datenbanken | 2 | 15.11.2009 15:28 | |
| Umlaute mit Request richtig übertragen | Lebenssonde | JavaScript, Ajax und mehr | 4 | 28.07.2009 15:10 |
| [Erledigt] Kann keine Umlaute im mysql client eingeben | Oger | Datenbanken | 9 | 02.04.2009 11:54 |
| MySQL Konsole und Umlaute unter Windows [LÖSUNG] | f4ckm5 | Datenbanken | 8 | 30.03.2009 22:10 |
| [Erledigt] Umlaute und Sonderzeichen decodieren | Sermon | PHP Tipps 2009 | 9 | 27.03.2009 08:18 |
| Umlaute und str_replace | MatzeMuc86 | PHP Tipps 2008 | 20 | 22.10.2008 20:41 |
| Umlaute in Datenbank zerschossen. Wie reparieren? | MatzeMuc86 | Datenbanken | 1 | 14.09.2008 17:48 |
| Umlaute in Datenbank | Eldra | PHP Tipps 2008 | 3 | 14.05.2008 07:11 |
| regexp umlaute und sprach bezogene Zeichen. | JEGO | PHP Tipps 2008 | 9 | 05.11.2007 15:47 |
| UTF8 Dump erzeugt nach import in UTF8 kod DB falsche Umlaute | Carino | Datenbanken | 18 | 07.05.2007 23:49 |
| Umlaute bei Linux | flual2000 | PHP Tipps 2006 | 10 | 28.04.2006 13:12 |
| Umlaute... | JK | PHP-Fortgeschrittene | 7 | 07.12.2005 20:55 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| regex umlaute, mysql regexp, http://www.php.de/php-fortgeschrittene/75793-regexp-es-duerfen-u-keine-umlaute-folgen.html, mysql regexp umlaute, php regex umlaute, regex keine umlaute, mysql regexp umlaut, mysql regex umlaute, umlaute in regex, javascript regex umlaute, mysql regexp sonderzeichen, regexp mysql, regex keine sonderzeichen in wort, regexp umlaute, php regex umlaute werden nicht erkannt, regex umlaut, regexp umlauts, javascript regexp umlaute, php regex keine sonderzeichen, regex word characters umlaut |