WernerK: Regex negiert (not in)

Hallo

Eine Tabelle hat Spalten mit Zahlen 10, 30, 40, 0, 100
ich suche nach einer Regex die bestimmte Zeichen ausklammert.
Also wählt man beispielweise 10 aus, soll alles angezeigt werden außer die 10

Ich habe mal im Self Wiki nachgeschaut:

http://wiki.selfhtml.org/wiki/JavaScript/Objekte/RegExp

Ich dachte dies könnte der Schlüssel sein:
[^123] findet Zeichen, die nicht 1, 2 oder 3 sind.

Also hatte ich es so versucht.

'[^10]$'

dann wurde aber gar nichts mehr angezeigt.
Ich vermute weil die 10 nicht als "ganzes" gesehen wird, sondern die 1 und 0 separat und die 0 kommt ja überall vor?

So würde eine positive Filterung funktionieren:

'^10$'
Hier wird jetzt nur noch die 10 angezeigt.
Also bräuchte ich dieses "negiert"

Nur wie macht man das?

vielen Dank

Gruss
Werner

  1. @@WernerK:

    nuqneH

    Eine Tabelle hat Spalten mit Zahlen 10, 30, 40, 0, 100

    Zahlen.

    ich suche nach einer Regex die bestimmte Zeichen ausklammert.

    Zeichen.

    Reguläre Ausdrücke verarbeiten Zeichen, keine Zahlen. Was immer dein Problem ist, reguläre Ausdrücke sind eher nicht die Lösung.

    Also bräuchte ich dieses "negiert"
    Nur wie macht man das?

    Negation in deiner Programmlogik.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Hallo

      Reguläre Ausdrücke verarbeiten Zeichen, keine Zahlen. Was immer dein Problem ist, reguläre Ausdrücke sind eher nicht die Lösung.

      Warum nicht. Das ist ja nur ein Beispiel. Es geht sowohl um Spalten mit reinen Zahlen als auch um Buchstaben (Zeichen)

      Gruss
      Werner

  2. Hallo Werner,

    Also hatte ich es so versucht.

    '[^10]$'

    Hier definierst du eine sog. negatierte Zeichenklasse. [^10] passt auf jedes Zeichen ausser 1 und 0.

    Wie ich es verstehe möchtest du aber einen negativen Lookahead verwenden: ^(?!10$)\d+$ oder z.b. ^(?!(?:10|11)$)\d+$ für mehrere auszuschließende Zahlen. Auf regex101.com kann man gut testen. Rechts siehst du jeweils eine ausführliche Erklärung.

    Viel Erfolg,
    Robert

    1. Hallo Robert,

      Wie ich es verstehe möchtest du aber einen negativen Lookahead verwenden: ^(?!10$)\d+$ oder z.b. ^(?!(?:10|11)$)\d+$ für mehrere auszuschließende Zahlen. Auf regex101.com kann man gut testen. Rechts siehst du jeweils eine ausführliche Erklärung.

      ja ich denke auch. Zwar kapier ich das noch nicht so mit dem negativen Lookahead aber ich hatte über Google auch so etwas ähnliches gefunden. Das funktionierte auch fast wie gewünscht. Nur wurde auch die 100 ausgeklammert bei Regex Suche mit 10. Ich werde am Montag gleich deine Version mal ausprobieren.
      vielen Dank

      Gruss
      werner