Zum Inhalt springen

Nr. 349 - und dann hat einfach wer die Tür zugemacht


Empfohlene Beiträge

Geschrieben

Nein wir sind Kunde bei der Alphabet Fuhrparkmanagement GmbH einer Tocher von BMW. Weil um soviele Leute irgendwohin zu bekommen braucht man schon mehr als 1 Auto. :)

Geschrieben

Also ich glaube, bevor irgendjemand "Ich habe das mal eben gealphabetet" schreiben / sagen wird, muss noch eine ganz schöne Zeit ins Land ziehen, falls das überhaupt jemals so weit sein wird.

Ganz davon abgesehen, dass ja eine von BMWs Tochterfirmen den Markennamen bereits hat und nun prüft, ob es markenrechtliche Implikationen gibt. Mal schauen, was da noch so bei raus kommt...

Geschrieben

Es haben übrigens ein paar Spassvögel als Pendant zur neuen "Google"-Alphabet-Domain abc.xyz die Domain abc.wtf registriert und auf Bing weiterleiten lassen.

Ach stimmt - die Google Suche bleibt ja - da soll ja irgend etwas anderes mit gemacht werden mit dem Alphabet-Markennamen.

Geschrieben

Alphabet von Google wird nur die Holding die die einzelnen Google Firmen zusammenhält.

Vorteil für Google Firmen die keinen Gewinn abwerfen kann man ganz einfach und unkompliziert aussortieren.

Geschrieben

Ganz vergessen ^^

Es geht nicht um die Ausführung der Jobs, sondern um Doku/Planung.

Das wäre ja auch /etc/init.d/crond start

crontab -e is schon für die Planung des ganzen :P

Geschrieben

So, dann habe ich auch mal was Offtopic im Offtopic... kennt sich hier zufälligerweise wer mit regulären Ausdrücken aus und kann mir sagen, wieso der folgende Ausdruck:

[0-9a-fA-F]{4}\.{1}[0-9a-fA-F]{4}\.{1}[0-9a-fA-F]{4}|[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}|[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}|[0-9a-fA-F]{12}
auch die Eingabe von "1234567890abcd" als korrekt interpretiert? Sollten doch eigentlich nur die folgenden Formate erlaubt sein, oder? 12:34:56:78:90:12 12-34-56-78-90-12 1234.5678.9012 123456789012 (Statt Zahlen können auch Klein- oder Großbuchstaben von A-F verwendet werden.) Oder liegt das an der PHP-Abfrage
if(preg_match($reg_exp,$string)){ do_something(); }

, dass er da nur überprüft, ob die reg_exp darin ENTHALTEN ist und nicht ob sie ihr ENTSPRICHT?

Die anderen unerwünschten Eingaben werden geblockt durch den regulären Ausdruck, nur die oben genannte Eingabe von

Geschrieben

dein letzter Teil:

[0-9a-fA-F]{12}

sagt doch aus, 12 Zeichen Ziffern, kleine und große Buchstaben gemischt sind erlaubt.

Oh, ich sehe das sind bei dir 14 Zeichen.

Hmm. mal weiter überlegen.

Geschrieben

Ja ganz genau.

12 Zeichen sind erlaubt, das Eingegebene hat aber mehr als 12 Zeichen und der Ausdruck wird anscheinend wie 12 Zeichen Mindestlänge gewertet, statt dass die Länge bei dem entsprechenden Ausdruck maximal 12 Zeichen sein darf.

Alles drunter wird brav rausgefiltert, alles mit mehr Zeichen, was dem zuletzt angegebenen Format entspricht, hingegen nicht.

Geschrieben

ähm...

vielleicht ist es ja die Stärke des "Oder", sodass die engere Verknüpfung in einem Fall 4 oder 2 Zeichen darstellt, nmss?

Geschrieben (bearbeitet)

Das Problem tritt übrigens generell auf, also auch wenn ich z.B. "12:34:56:78:90:12:34" eingebe, wird dies als OK gewertet, statt dass es geblockt wird.

Mit dem ODER werden aber je spezifische reguläre Ausdrücke verknüpft. Ein UND geht ja nicht, weil es ja nicht im einen UND anderen Format sein kann, sondern nur im einen ODER anderen definierten Format.

Ich vermute aber das Problem eher bei der PHP-Funktion, dass sie nur schaut, ob ein entsprechender Ausdruck enthalten ist, nicht ob er dem entsprechenden Ausdruck entspricht. Nur wüsste ich jetzt auch keine andere PHP-Funktion, mit der ich es alternativ überprüfen könnte.

Bearbeitet von Crash2001
Geschrieben

ja klar, in PHP wird das Alternative (In Suchmustergruppen) genannt. Vielleicht schafft es aber Abhilfe die Suchmustergruppen in Klammern () zu setzen. Wobei immer noch die Frage bleibt: Warum werden sechs Doppelpunkte durchgelassen?

Geschrieben

etwa so:

([0-9a-fA-F]{2}[:-]{1}[0-9a-fA-F]{2}[:-]{1}[0-9a-fA-F]{2}[:-]{1}[0-9a-fA-F]{2}[:-]{1}[0-9a-fA-F]{2}[:-]{1}[0-9a-fA-F]{2})|([0-9a-fA-F]{4}[\.]{1}[0-9a-fA-F]{4}[\.]{1}[0-9a-fA-F]{4})|([0-9a-fA-F]{12})

falls es wichtig ist, eine Mischung von Doppelpunkt und Bindestrich zu unterbinden, muss halt die erste Alternative noch zwischen Doppelpunkt und Bindestrich unterschieden werden.

Ansonsten ist natürlich auch das drumherum der funktion wichtig.

Geschrieben

Guten Morgen zusammen :)

Jippie...Laut dem Wetterfritzen vom MoMa ist heute/morgen der letzte Tag der Hitzewelle und wahrscheinlich Ende der 30°C+ Tage...

BRACE YOURSELF!!!!

Geschrieben

Moinmoin zusammen.

Also ein bisschen Abkühlung (so um 10 Kelvin oder so) wäre ganz nett - ja.

@*Micha*:

Das ist mehr oder weniger das selbe wie mein regulärer Ausdruck, nur dass dabei auch Kombinationen aus : und - erlaubt sind (was nicht erlaubt sein soll). Zudem Klammern um jeden Teil des regulären Ausdrucks, was jedoch keinen Unterschied macht.

Anscheinend muss man die Anchors nutzen dann. Danke an etreu für den Tip.

Anchors

^ - matches at the start of the line

$ - matches at the end of the line

Mein Ausdruck sieht nun so aus und funktioniert so wie er soll (zumindest sind mir bisher noch keine Fehler dabei aufgefallen):

"/^[0-9a-fA-F]{4}(\.{1}[0-9a-fA-F]{4}){2}$|^[0-9a-fA-F]{2}(:{1}[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{2}(\-{1}[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{12}$/"

Geschrieben

Also sehe ich am Sonntag endlich mal meine Freundin wieder und ausgerechnet dann ist ****** Wetter? Schönen Dank auch -.-

Gott scheint Langeweile zu haben und hackt auf den kleinen Leuten rum :D

Geschrieben (bearbeitet)

@Crash2001 Bei Regular Expression wird normalerweise wirklich geprüft, ob der Ausdrück in dem String enthalten ist und nicht ob der komplette String exakt dem Ausdruck entspricht. Wenn du das aber möchtest, musst du in deinen regulären Ausdruck die Ausdrücke für Stringstart (^) und Stringende ($) hinzufügen.

Folgender Ausdruck sollte dem entsprechend, was du haben möchtest:


^(??:[[:xdigit:]]{4}\.){2}[[:xdigit:]]{4}|(?:[[:xdigit:]]{2}[:-]){5}[[:xdigit:]]{2}|[[:xdigit:]]{12})$

[/code]

'[[:xdigit:]]' ist die Character Class der hexadezimalen Zeichen.

'(?:)' sind Non-Capture Groups, der Inhalt dieser wird bei der Auswertung der Gruppen nicht gespeichert.

Die Oder-Zweige für 6 2-stellige hexadezimale Zeichen getrennt durch ':' oder '-' habe ich zu einem Zweig zusammengefasst.

Der Reguläre Ausdruck lässt auf https://regex101.com/r/cA4cM4/1 testen.

Edit: Da war ich wohl zu langsam beim schreiben.

Bearbeitet von Dragon8
Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...