Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

  • Antworten 2.3k
  • Ansichten 152.7k
  • Erstellt
  • Letzte Antwort

Top-Poster in diesem Thema

Beliebteste Beiträge

  • 10,2 °C, Klar und sonnig. Perfekt um ein Paar Handeln zu schwingen um die HulkwynÄrmchen etwas zu straffen. (Da man nicht so schnell schwitzt...)

  • Was hat das mit Erziehung zu tun? Klingt für mich nach ganz normalem weiblichen Verhalten  

  • Hellspawn304
    Hellspawn304

    Onkel enno der kinderschreck.

Gepostete Bilder

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...

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.

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

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.

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.

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

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?

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.

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}$/"

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

@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 ist für weitere Antworten geschlossen.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.