![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Erfahrener Benutzer Registriert seit: 16.08.2008 Ort: Mecklenburg-Vorpommern
Beiträge: 314
|
Hallo liebe Entwicklergemeinde, seit einiger Zeit beschäftigt mich bereits die Frage: Regular Expressions: Wie kann ich in MySQL angeben, das nach einem gefundenen Ausdruck y-viele Zeichen von x-beliebiger Art stehen KÖNNEN, aber nicht müssen? Beispiel: [123]...[789] - es dürfen maximal vier beliebige Zeichen dazwischen vorkommen, es können aber auch nur zwei oder drei, oder gar kein Zeichen sein. Ich bin am überlegen, ob es noch eine bessere Variante als die "beliebiges Zeichen"{0:4} gibt, da man hier wirklich jedes zu berücksichtigende Zeichen aufführen muss. Sollte es eine bessere Methode geben, frage ich auch gleich, ob man - für zukünftige Anwendungsgebiete - auch den Zeichentyp (Zahl, Sonderzeichen, Buchstabe) bestimmen kann. Die Frage, deren Antwort sich hoffentlich mit der Lösung zu diesem Beispiel von selbst ergibt, die dann noch offen bleibt, ist: wie kann ich einschränken, dass z.B. maximal 3 (beliebig oder festgelegt) Zeichen eines bestimmten oder beliebigen Types aufeinanderfolgen können? Ein Beispiel: [123]...[ABC] - der erste Part ist definitiv/bis zu 3 Zeichen lang und nummerisch, dann KÖNNEN bis zu X Zeichen folgen, müssens aber nicht und der nächste Teil ist ein Wert aus 3 Großbuchstaben/Buchstaben, aber definitiv nicht nummerisch. Am besten fände ich es, wenn man dies nun elegant und perfomant in MySQL lösen könnte, zur Not wäre PHP aber auch in Ordnung. Vielen Dank für Anregungen und Ideen! Liebe Grüße und einen guten Rutsch nachträglich! |
| | |
| | Nach oben #2 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.365
|
Soweit ich weiß unterstützt MySQL doch den normalen Umfang für regex, oder? Code: [1-90]{0,3}.{0,X}[A-Z]{3}
|
| | |
| | Nach oben #3 |
| Erfahrener Benutzer Registriert seit: 16.08.2008 Ort: Mecklenburg-Vorpommern
Beiträge: 314
|
Danke! Das einzige, was mich an dem RegExp stört - sorry, kannst du nicht wissen, weil ich ungenau war - ist: Ich möchte, dass diese beliebigen Zeichen zwischen den Ausdrücken nun beliebig Leerzeichen, Bindestriche, Ausrufezeichen o.Ä. darstellen können. Das Wort beliebig ist vielleicht verwirrend. Beispiel: [123]-!-[ABC] Es muss ein RegExp her, der die Zeichen " ", "-" und "!" zulässt, diese dürfen aber nur maximal X mal auftreten. Oder mit anderen Worten, es dürfen zwischen [123] und [ABC] insgesamt höchstens 3 Zeichen vom Typ Leerzeichen, Bindestrich oder Ausrufezeichen stehen.Sollten es andere sein (oder mehr), darf der RegExp nicht mehr funktionieren. Gruß und danke für die Anregung! |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Book Review: PHP and MySQL by Example. | Ben | Literatur | 0 | 06.01.2007 23:11 |
| [Linux] LAMP Tutorial - Installation von Apache, MySQL und PHP unter Linux | Corvin | Tutorials | 6 | 17.04.2006 22:13 |
| Simpler PHP 4/5 Webspace mit Mysql | Buhmann | Gesuche | 11 | 07.02.2006 09:19 |
| Regular Expressions (ein anderes Problem) | alekz | Allgemeine Java-Programmierung | 1 | 31.10.2004 14:41 |
| Regular Expressions | lavender | Allgemeine Java-Programmierung | 5 | 27.10.2004 13:02 |