bestimmter Regex für pihole

>|Sh4d0w|<

Commander
Registriert
Jan. 2009
Beiträge
2.489
Hallo zusammen,
ich such ein speziellen Regex-Statement, in der ich verschiedene Ausnahmen generieren kann. Im pihole würde ich das als Blackliste definieren.

Es soll alles gematcht werden, außer gewisse Domains, also z.B. .de, .at, .ch und einige weitere welche ich später ergänze. Als Whitelist bekomme ich das mit folgendem hin:
(^|\.)(de|at|ch|uk|com|org)$ Nun müsste das umgekehrt werden. Mit (?!^|\.)(de|at|ch|uk|com|org)$ klappt das nämlich nicht.

Hat jemand eine Idee?
 
Zuletzt bearbeitet:
Die fehlende geschlossene Klammer im zweiten Statement - ist das nur hier in deinem Post ein Schreibfehler?
 
  • Gefällt mir
Reaktionen: Asghan
Ja war nur ein Kopierfehler, funktioniert auch mit gerschlossener Klammer nicht :)
 
  • Gefällt mir
Reaktionen: Marflowah
Ich habe mal Bing (GPT4) gefragt, versuch's mal mit (?<!^|\.)[^de|at|ch|uk|com|org]$ :D

Here’s how the inverted regular expression (?<!^|\.)[^de|at|ch|uk|com|org]$ works:

  • (?<!^|\.) is a negative lookbehind that asserts that the character before the current position is not the start of the line (^) or a period (\.).
  • [^de|at|ch|uk|com|org] is a negated character set that matches any character that is not in the set. In this case, it matches any character that is not d, e, a, t, c, h, u, k, o, m, or r.
  • $ asserts that the current position is at the end of the line.
So, this regular expression will match any string that does not end with .de, .at, .ch, .uk, .com, or .org.

Ich habe btw null Ahnung von Regex, ich habe nur deinen Start-String eingetickert und angefragt, das zu invertieren...
 
Welchen RegEx-Dialekt bzw. -Syntax nutzt denn Pi-hole?

Tipp: https://regex101.com/
Ergänzung ()

Rickmer schrieb:
versuch's mal mit (?<!^|\.)[^de|at|ch|uk|com|org]$
ich hätte [^(de)|(at)|(ch)|(uk)|(com)|(org)] GERATEN :D
 
Folgendes sollte alle Domains matchen, deren TLD nicht de, ch oder at ist.
Code:
.*\.(?!(de|ch|at)$)[^.]+$
 
  • Gefällt mir
Reaktionen: CyborgBeta
Laut Manual wird die POSIX Expression verwendet. Bis jetzt klappt keine der aufgeführten Abfragen :)
 
Hmm... GPT:
Unfortunately, it is not possible to invert the given regular expression (^|\.)(de|at|ch|uk|com|org)$ using POSIX regular expressions. This is because POSIX regular expressions do not support negative lookaheads or lookbehinds, which are necessary to invert the given regular expression.
Keine Ahnung ob's stimmt, aber zumindest hat Google nicht auf die Schnelle ein Ergebnis zum Gegenteil gefunden...

Ich würd's mal mit der Pihole Doku von H4110 versuchen :)
 
MEGA :) einfach ;invert dahinter, dann läuft der Hase. Vielen Dank :) :) :)
Das erspart einiges an Pflege für die Zukunft
Ergänzung ()

Memo an mich selbst. Statement nur 1x mit allen erdenktlichen Ausnahmen verwenden, sonst blockt er alles :)
 
Zuletzt bearbeitet:
Zurück
Oben