1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

RegEx

    • Frage
  • bruzzler
  • 31. Juli 2006 um 10:20
  • Unerledigt
  • bruzzler
    8
    bruzzler
    Mitglied
    Reaktionen
    1
    Punkte
    586
    Beiträge
    92
    • 31. Juli 2006 um 10:20
    • #1

    Ich war noch nie gut in solchen sachen...vielleicht kann mir aber einer von euch helfen:

    Ich such in einem Text eine Kommazahl mit beliebig vielen Vorkomma und Nachkommastellen - wie lautet dazu der richtige Regular Expression Ausdruck?

    bsp:

    asdöfakjdflöajdföaj1.23478234234öaksjdföajsdföalsjdfö

    Ergebniss nach der suche sollte dann sein: 1.23478234234


    danke :winking_face:

    This is Linux land...in silent nights you can hear windows machines reboot!
    ---
    Der kleine Windows-Kobolt auf meiner linken Schulter befiehlt:"Du sollst alles NIEDERBRENNEN!"

  • segfault
    8
    segfault
    Mitglied
    Reaktionen
    3
    Punkte
    583
    Beiträge
    113
    • 31. Juli 2006 um 10:50
    • #2

    [0-9].*[0-9]

    sollte funktionieren...

    file:
    asdöfakjdflöajdföaj1.23478234234öaksjdföajsdföalsjdfö

    grep -e [0-9].*[0-9] -o file

    1.23478234234

    lg
    segfault

    even newton had his best ideas on an apple...

  • Lacce
    3
    Lacce
    Mitglied
    Punkte
    50
    Beiträge
    10
    • 31. Juli 2006 um 11:11
    • #3

    [0-9].*[0-9] ist nicht so geschickt - der Punkt ist bedeutet nämlich "matche jedes Zeichen". Dass die Expression hier funktioniert ist eigentlich nur Zufall - sie matcht alles, was mit einer Ziffer anfängt und mit einer Ziffer aufhört. Also auch z.B. "1huhu2".

    Ich denke, "[0-9]*\.[0-9]*" ist hier besser. Also zum aufrufen:

    Code
    grep -oe '[0-9]*\.[0-9]*' file

    -Thomas

  • segfault
    8
    segfault
    Mitglied
    Reaktionen
    3
    Punkte
    583
    Beiträge
    113
    • 31. Juli 2006 um 11:33
    • #4
    Zitat von Lacce

    [0-9].*[0-9] ist nicht so geschickt - der Punkt ist bedeutet nämlich "matche jedes Zeichen". Dass die Expression hier funktioniert ist eigentlich nur Zufall - sie matcht alles, was mit einer Ziffer anfängt und mit einer Ziffer aufhört. Also auch z.B. "1huhu2".

    Ich denke, "[0-9]*\.[0-9]*" ist hier besser. Also zum aufrufen:

    Code
    grep -oe '[0-9]*\.[0-9]*' file

    -Thomas

    stimmt natuerlich :winking_face: sorry, war eher schnell "hingefetzt" ohne viel drueber nachzudenken (erst denken dann posten :) )

    even newton had his best ideas on an apple...

  • MaxAuthority
    17
    MaxAuthority
    Gewinner des Desktop-Contest 2002
    Reaktionen
    5
    Punkte
    3.165
    Beiträge
    626
    • 31. Juli 2006 um 12:13
    • #5
    Zitat von Lacce


    Ich denke, "[0-9]*\.[0-9]*" ist hier besser.

    Besser schon, aber kommt auf die genaue spezifikation an. Wenns wirklich beliebig viele sein koennen, stimmt die regexp schon, aber macht es sinn '.' als zahl zu matchen?

    Ich wuerd die (fuer praktische zwecke) so bauen:

    [0-9]+(\.[0-9]+)?

    http://vimperator.org - Make Firefox behave like Vim

  • bruzzler
    8
    bruzzler
    Mitglied
    Reaktionen
    1
    Punkte
    586
    Beiträge
    92
    • 31. Juli 2006 um 12:19
    • #6
    Zitat von MaxAuthority

    Besser schon, aber kommt auf die genaue spezifikation an. Wenns wirklich beliebig viele sein koennen, stimmt die regexp schon, aber macht es sinn '.' als zahl zu matchen?

    Ich wuerd die (fuer praktische zwecke) so bauen:

    [0-9]+(\.[0-9]+)?


    aaaaahhhhh danke......hatte wohl einen knoten im hirn...vor lauter java.util.regexp.....klassen!!!

    danke!!

    This is Linux land...in silent nights you can hear windows machines reboot!
    ---
    Der kleine Windows-Kobolt auf meiner linken Schulter befiehlt:"Du sollst alles NIEDERBRENNEN!"

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung