1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Idee für Regexpression

    • Frage
  • andras98
  • 15. Juni 2006 um 20:06
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • andras98
    Punkte
    911
    Beiträge
    137
    • 15. Juni 2006 um 20:06
    • #1

    Hi,

    Für eine Auswertung brauch ich eine schnelle Art um folgende Strings zu verarbeiten:

    a, b, c, d, not a, not b.
    e, f, g, h, not i, not j.


    Ich will jene Zeilen selektieren welche einen Buchstaben sowohl mit als auch ohne "not" beinhalten. In der ersten Zeile wäre das a, b.
    Die zweite Zeile sollte ignoriert werden da hier keine Buchstaben mit und ohne "not" vorkommen.
    Ich bin mir nicht sicher ob sowas überhaupt mit Regexpressions geht? Kann dass wer bestätigen?

    Danke,

    Andreas

  • Plantschkuh!
    Punkte
    6.173
    Beiträge
    1.181
    • 15. Juni 2006 um 20:26
    • #2

    Es ist mit Regexps nicht möglich, sowas wie "einer von diesen Buchstaben, und später genau der selbe nochmal" auszudrücken.

    Das beste, was man tun könnte, wären getrennte Regexps für jeden Buchstaben (d.h. "a kommt negiert und nicht negiert vor", "b kommt negiert und nicht negiert vor", ...), die dann mit | verbunden werden. Das ist aber natürlich nicht befriedigend; ich würde sagen, du brauchst ein mächtigeres Tool.

  • Spockman
    Punkte
    210
    Beiträge
    41
    • 15. Juni 2006 um 23:53
    • #3
    Zitat von andras98

    Hi,
    Ich bin mir nicht sicher ob sowas überhaupt mit Regexpressions geht? Kann dass wer bestätigen?


    Es geht mit einer Teil-Regexp fuer jeden Buchstaben (und die dann ver-ODER-n). Manche Engines bieten auch sog. "back references" als Erweiterung, z.B.:

    egrep "([a-z]).*not \1"

  • a9bejo
    Punkte
    4.697
    Beiträge
    913
    • 16. Juni 2006 um 11:16
    • #4
    Zitat von Spockman

    Manche Engines bieten auch sog. "back references" als Erweiterung, z.B.:

    egrep "([a-z]).*not \1"

    'Manche' ist gut: Die Perl/Unix und Emacs Regexp kommen anscheinend alle damit zurecht. :)

  • Spockman
    Punkte
    210
    Beiträge
    41
    • 16. Juni 2006 um 19:41
    • #5
    Zitat von a9bejo

    Emacs Regexp

    In .emacs hab ich:

    Code
    (defun dups ()
      (interactive)
      (re-search-forward "\\(\\(?:\\b\\w+\\b\\W*\\)+\\)\\W+\\1\\b"))

    Damit finde ich duplizierte Wortgruppen duplizierte Wortgruppen.

    Keine back references haben flex, lex u.v.a.

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum