AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mySQL: Bizarres Problem mit REGEXP

Ein Thema von moritz · begonnen am 30. Apr 2005 · letzter Beitrag vom 30. Apr 2005
Antwort Antwort
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#1

mySQL: Bizarres Problem mit REGEXP

  Alt 30. Apr 2005, 12:17
Guten Morgen!

Ich habe ein bizarres Problem mit dem REGEXP-Operator in mySQL.
Auf dem Server läuft eine Datenbank, die eine Tabelle mit Einträgen dieser Art enthält:
Code:
id |  url
... |  (((.*)\.)|)hausaufgaben\.de(.*)
Dieser Reguläre Ausdruck soll prüfen, ob es sich bei der eingegebenen Seite um einen Subdomain und/oder Unterordner oder sogar um den Domain selbst handelt. In diesem Fall sollten folgende Sachen gefunden werden:
Code:
hausaufgaben.de
login.hausaufgaben.de
hausaufgaben.de/login
login.hausaufgaben.de/login
...
Nicht gefunden werden sollen solche Sachen:
Code:
mathehausaufgaben.de
hausaufgaben.de.wikipedia.org
...
Die Abfrage schaut so aus:
SELECT id FROM pages WHERE $url REGEXP pages.url Ist der Reguläre Ausdruck wie oben, findet er gar nichts. Ändere ich ihn auf
Code:
((.*\.))*hausaufgaben\.de(.*)
findet er zwar alle oben angegebenen, allerdings auch mathehausaufgaben.de etc...

Ich weiß wirklich nicht mehr, was ich machen soll. Hat jemand von euch eine Idee?

Gruß, Moritz
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#2

Re: mySQL: Bizarres Problem mit REGEXP

  Alt 30. Apr 2005, 13:07
Zitat von MySQL Reference Manual :: G MySQL Regular Expressions:
To use a literal instance of a special character in a regular expression, precede it by two backslash (\) characters. The MySQL parser interprets one of the backslashes, and the regular expression library interprets the other.
http://dev.mysql.com/doc/mysql/en/regexp.html

Code:
^(.*\\.)*hausaufgaben\.de(/.*)?
(^ : Pattern muss gemäss RegExp beginnen)
(\\. = siehe Auszug aus dem Manual)
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#3

Re: mySQL: Bizarres Problem mit REGEXP

  Alt 30. Apr 2005, 15:18
Super, Danke! Ich mach es jetzt mit
Code:
^(.*\.)*hausaufgaben\.de(.*)?
Geht wunderbar
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz