preg_match
Gast
- php
Hallo,
ich habe die PHP- Dokumentation von preg_match durchgelesen, werde aber nicht schlau daraus.
Ich prüfe einen String. Der darf nur ein- bis sechsstellige Zahlen enthalten. Es kann eine Zahl sein oder mehrere, durch Komma getrennt:
4711,4712,3,5,1
'/^\d{1,6}(?:,\d{1,6}){0,100}$/'
So weit, so gut.
Nun möchte ich erweitern. Einer oder mehreren Zahlen kann ein ! (als Verneinung) vorangestellt werden:
4711,4712,!4713,3,5,1
Ich interpretiere den Teilstring (?:,\d{1,6}) als "ein Komma, gefolgt von ein bis sechs Ziffern ist zulässig"
und ergänze den Teilstring (?:,!\d{1,6}) als "ein Komma und ein Ausrufezeichen, gefolgt von sechs Ziffern ist zulässig". Das klappt aber nicht.
'/^\d{1,6}(?:,\d{1,6})(?:,!\d{1,6}){0,100}$/'
Wie kann ich das Ausrufezeichen einbauen?
Gruß, Gast
Hi,
Ich prüfe einen String. Der darf nur ein- bis sechsstellige Zahlen enthalten. Es kann eine Zahl sein oder mehrere, durch Komma getrennt:
Nun möchte ich erweitern. Einer oder mehreren Zahlen kann ein ! (als Verneinung) vorangestellt werden:
4711,4712,!4713,3,5,1
Wie wäre es, statt RegEx einfach String-Funktionen zu nutzen? Der Editor nach dir wird es dir sicherlich danken.
Also einfach ein split auf das Komma machen, dann mit indexOf auf das Ausrufezeichen auf jedes Arrayentry testen, ob ein Ausrufezeichen da ist, den Rest mit intval prüfen und dann noch den Rangecheck machen.
Ist vielleicht länger ausgeschrieben als ein regulärer Ausdruck, dafür schneller geschrieben als über den Regex nachgedacht (was nicht nur beim ersten mal (dem entwickeln) gilt, sondern auch beim warten, wenn du den Regex wieder verstehen musst).
Bis die Tage,
Matti
Hi,
Wie wäre es, statt RegEx einfach String-Funktionen zu nutzen?
Ja, wenn man ein Kommando nicht versteht, muss man es anders lösen. Habe ich jetzt provisorisch gemacht. Wenn ein Ausrufezeichen vorkommt, ist der GET- Parameter gültig.
Logisch vollkommen falsch, aber ich komme erstmal durch die Prüfung und kann weitermachen ;-)
Gast
Om nah hoo pez nyeetz, Gast!
warum bleibst du nicht in deinem Thread?
Matthias
warum bleibst du nicht in deinem Thread?
Was soll der Link? Da werde ich aufgefordert, mich einzuloggen.
Hast du auf den falschen Faden geantwortet?
Gast
Om nah hoo pez nyeetz, Gast!
warum bleibst du nicht in deinem Thread?
Was soll der Link? Da werde ich aufgefordert, mich einzuloggen.
dann registriere dich mal und du wirst festellen, wie komfortabel dieses Forum ist.
Der gleiche Link ohne "/my/": Link
Hast du auf den falschen Faden geantwortet?
Ich glaube nicht, Doppelpostings sind hier unerwünscht.
Matthias
Hallo,
manchmal ist es schon besch... allein zu arbeiten. Kein Gedankenaustausch, keine Kontrolle.
Der aktuelle Fall:
Ich habe einen Veranstaltungskalender und möchte die Events einer Region zeigen.
Ein fleissiger Veranstalter gibt massenhaft Flohmärkte ein, die Region "ertrinkt" darin, die anderen Events werden auf die hinteren Plätze verwiesen.
Deshalb wollte ich diese Veranstalter-ID mit dem Verneinungszeichen ! ausschließen. Das klappt nun auch.
Andererseits bin ich froh, dass jemand so fleissig seine Events eingibt. er sollte nicht "bestraft" werden dafür.
Möchte einfach mal eure Meinungen lesen.
Gast
Hi,
Ein fleissiger Veranstalter gibt massenhaft Flohmärkte ein, die Region "ertrinkt" darin, die anderen Events werden auf die hinteren Plätze verwiesen.
Deshalb wollte ich diese Veranstalter-ID mit dem Verneinungszeichen ! ausschließen. Das klappt nun auch.
Andererseits bin ich froh, dass jemand so fleissig seine Events eingibt. er sollte nicht "bestraft" werden dafür.
Ja, darüber solltest du froh sein, also schließe den Veranstalter nicht vollständig aus? Oder wie hast du das gemeint?
Kannst du nicht z.B. auch noch nach Relevanz ordnen? Also z.B. Veranstaltungen die öfter angeklickt werden, werden besser gerankt..
Oder du filterst ein bisschen mit z.B. Kategorien (Flohmärkte, Bastelstunden etc.) und Regionen. Wenn der User die Ansicht ohne Filter wählt kannst du ja Kategorie/Region auf die Anzahl X beschränken. Wenn es dort (oder vom gleichen Veranstalter) dann mehr als X Veranstaltungen gibt, erzeugst du einen Link auf "Weitere Veranstaltungen in der Kategorie Flohmärkte" oder sowas...
Gruß
Alex