Baciu: Entsprechung für regulären Ausdruck gesucht

Hallo Forum,

ich bin auf der Suche nach einem regulären Ausdruck. In einem HTML-Quelltext habe ich mehrere Uhrzeiten im Format ZifferZiffer.ZifferZiffer Nun möchte ich den Punkt, der die Ziffern trennt durch einen Doppelpunkt ersetzen. Mit Hilfe von Tutorials habe ich im Netz einen Ausdruck zusammengebastelt

\.(?=[0-9])

Dieser funktioniert bei mir im OpenOffice, leider nicht im emacs (Aquamacs). Gibt es dafür einen anderen Ausdruck den Aquamacs versteht und mir das gleiche Ergebnis liefert? Danke schon mal.

  1. @@Baciu

    ich bin auf der Suche nach einem regulären Ausdruck. In einem HTML-Quelltext habe ich mehrere Uhrzeiten …

    Wenn du die Uhrzeiten richtig mit HTML ausgezeichnet hast, sollten die enfach zu finden sein: sie stehen in time-Elementen.

    … im Format ZifferZiffer.ZifferZiffer

    Hast du vielleicht noch andere Angaben in der Form auf der Seite, die nicht Uhrzeiten sind? Preise? 16.10?[1]

    Suche nach 2 Ziffern: [0-9]{2} oder \d{2}. 2 Ziffern, Punkt, 2 Ziffern: ([0-9]{2})\.[(0-9]{2}) bzw. (\d{2})\.(\d{2}). Die Klammern dienen dazu, sich den Inhalt zu merken. Das baust du wieder ein, indem du mit $1:$2 ersetzst.

    Eventuell auch eine Nicht-Ziffer davor und danach mit in den Ausdruck aufnehmen: ([^0-9][0-9]{2})\.[(0-9]{2}[^0-9]) bzw. (\D\d{2})\.(\d{2}\D). Damit wird 9876.50 nicht erkannt; 16.10 aber immer doch.

    Damit auch Uhrzeiten am Anfang und Ende erkannt werden: ((?:^|[^0-9])[0-9]{2})\.[(0-9]{2}(?:$|[^0-9])). ((?: klammert ohne den Inhalt zu merken, ^ hat außerhalb von [] eine ander Bedeutung als innerhalb.)

    LLAP 🖖

    --
    “There’s no such thing as an ‘average’ user, but there is such a thing as an average developer.” —Vitaly Friedman in Accessibility Matters: Meet Our New Book, “Inclusive Design Patterns”
    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|

    1. Soviel kosteten AMIGA-Schallplatten. ↩︎

    1. Hallo Gunnar,

      danke für die schnelle Antwort. Also andere Angaben in der Form gibt es nicht auf der Seite. Das Problem scheint der Editor (Aquamacs) zu sein. Ich habe den Ausdruck ([0-9]{2}).([0-9]{2}) im OpenOffice ausprobiert, funktioniert wunderbar. Der Aquamacs hat ein Problem mit den runden Klammern wie es scheint, er findet nichts. Keine Ahnung, wo ich da schrauben muss...

      1. Problem gelöst:

        nur etwas andere Schreibweise für den Editor:

        \([0-9]\{1,2\}\)\.\([0-9]\{1,2\}\) und ersetzen mit \1:\2
        
        1. @@Baciu

          \([0-9]\{1,2\}\)\.\([0-9]\{1,2\}\) und ersetzen mit \1:\2
          

          Ich hatte es angedeutet, dass Uhrzeiten (und Daten) in HTML mit dem time-Element ausgezeichnet werden können. Das erreichst du hier, indem du mit <time>\1:\2</time> ersetzt.

          LLAP 🖖

          --
          “There’s no such thing as an ‘average’ user, but there is such a thing as an average developer.” —Vitaly Friedman in Accessibility Matters: Meet Our New Book, “Inclusive Design Patterns”
          Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
          1. @Gunnar Bittersmann

            auch dass hab ich nun gemacht, die Uhrzeiten haben nun <time></time> :-) Noch mal danke für die hilfreichen Tipps.