seth: regexp: \d != [0-9]

Beitrag lesen

gudn tach!

Ansonsten: Mitnichten. \d steht für eine Ziffer, und Ziffern sind weitaus mehr Zeichen als [0-9], bspw. [٠١٢٣٤٥٦٧٨٩].

ach du liebe zeit! das war mir neu. und ploetzlich rasen wirre endzeit-szenarien durch meinen kopf, in denen user-eingaben, die damit auf zahl-sein ueberprueft wurden, in arithmetischen ausdruecken verwendet werden und dann aber doch nur als 0 evaluiert werden oder zu abstuerzen oder noch schlimmerem fuehren...

oha, und perldoc perlre bestaetigt das sogar: "For example, BENGALI DIGIT FOUR (U+09EA) looks very much like an ASCII DIGIT EIGHT (U+0038). And, \d+ , may match strings of digits that are a mixture from different writing systems, creating a security issue."

gluecklicherweise gibt's abhilfe: "num() in Unicode::UCD can be used to sort this out. Or the /a modifier can be used to force \d to match just the ASCII 0 through 9." (ebd.)

man muss das eben "nur" _wissen_...

prost
seth

0 45

Probleme mit regulärem Ausdruck

DocSky
  • php
  1. 0
    Melvin Cowznofski
    1. 0
      dedlfix
      1. 0
        Melvin Cowznofski
        1. 1
          Gunnar Bittersmann
          1. 0
            Christian Kruse
          2. 0
            dedlfix
          3. 0

            regexp: \d != [0-9]

            seth
            • programmiertechnik
      2. 0
        dedlfix
        1. 0
          Melvin Cowznofski
          1. 0
            Gunnar Bittersmann
            1. 0
              Melvin Cowznofski
              1. 0
                Matthias Apsel
                1. 0
                  Melvin Cowznofski
                  1. 0

                    Noch immer keine Lösung?

                    Melvin Cowznofski
                    1. 0
                      dedlfix
                      1. 0
                        Melvin Cowznofski
                        1. 0
                          dedlfix
                          1. 0
                            Melvin Cowznofski
                            1. 0
                              dedlfix
                              1. 0
                                Melvin Cowznofski
                                1. 0
                                  dedlfix
                                  1. 0
                                    Melvin Cowznofski
                                    1. 0
                                      dedlfix
                                      1. 0

                                        Frage nun beantwortet!

                                        Melvin Cowznofski
                    2. 0
                      Gunnar Bittersmann
                      1. 0
                        Melvin Cowznofski
                        1. 0
                          dedlfix
                        2. 0
                          misterunknown
                2. 0
                  dedlfix
                  1. 0

                    Postleitzahlen

                    Matthias Apsel
                    • sonstiges
                    1. 0
                      Tobias Hahner
                      1. 0
                        Matthias Apsel
                        1. 0
                          Tobias Hahner
                          1. 0
                            Matthias Apsel
                            1. 0
                              Tobias Hahner
                            2. 0
                              Der Martin
              2. 0
                Gunnar Bittersmann
    2. 0
      Gunnar Bittersmann
      1. 0
        Melvin Cowznofski
      2. 0
        DocSky
    3. 0
      DocSky
      1. 0
        Gunnar Bittersmann
      2. 0
        dedlfix
  2. 0

    5- bis 10-stellige zahl in string matchen

    seth