Diese Regex soll mit beliebigen Zahlen übereinstimmen (Real oder Integer - keine wissenschaftliche Notation). Ich bin mir jedoch nicht sicher, was "?:" In den Klammern bedeutet. Kann jemand das zusammen mit einigen Beispielen erklären? Vielen Dank.Perl Regex -? D + (?: . D +)?
0
A
Antwort
1
In der Regex
?\d+(?:\.\d+)?
Die ?:
Menge innerhalb der Gruppe in Klammern weist die Regex-Engine, um die Gruppe nicht zu erfassen, was es sonst der Fall wäre.
Indem sie nicht die Menge in Klammern erfassen, die Capture-Gruppe zur Verfügung (die die erste sein soll, und der gesamte Ausdruck) würden nur die Ziffern vorkommen vor den Dezimalpunkt sollte die Zahl eine Bruchkomponente.
Verwandte Themen
- 1. regex Telefon Validator^\ + (\ d +) (- (\ d +) | (\ d +) +) $
- 2. Was ist (\ d +)/(\ d +) in Regex?
- 3. Identifizieren von Daten der Form \ d \ d- \ d \ d- \ d \ d mit Regexner
- 4. Perl Befehl Bedeutung mit -d
- 5. Unterschied zwischen "\\ d +" und "\\ d ++" in Java Regex
- 6. Diese Regex-Zeile überschreitet mein Verständnis "(? = (?: \ D {3}) ++ (?! \ D))"
- 7. Hilfe Verfeinern RegEx ("\ b \ d {6} ([] {1,15}) \ d {7} \ b")
- 8. PERL CTRL-D nicht stoppen Benutzereingabe
- 9. Was macht \ d in JavaScript Regex?
- 10. Was ist der Unterschied zwischen: D und: D :?
- 11. In Java -D wofür steht das D?
- 12. Zeichen "d '" wird "d '" wenn angezeigt
- 13. Ist in [\ w \ d] nicht \ d redundant?
- 14. D Entwicklungsprozess
- 15. D Programmierfehler
- 16. Wie RegEx zu verfeinern ist (\ bL \ s * \ d {6} \ s * \ d {7} \ b)
- 17. ERROR: ifelse (d == 0, NA, d), wobei d Integer64 return nonsense (in "num" Form) ist
- 18. Sollte ich \ d oder [0-9] verwenden, um Ziffern in einem Perl Regex zu finden?
- 19. Hat Ruby einen schrittweisen Debugger, ähnlich Perls "Perl -d"?
- 20. Welche globalen Variablen beeinflussen die Testoperatoren -e, -d in Perl?
- 21. Unterschied zwischen Funktion (d) und Funktion (d, i)?
- 22. Wie D & D hochgeladene Dateien von der Github entfernen?
- 23. Wo finde ich Informationen zum Pfadfindungsalgorithmus D * oder D * Lite?
- 24. D-Compiler (Digital Mars D Compiler) zu werfen Fehler
- 25. Bedeutung von regulären Ausdrücken wie - \\ d, \\ D, ^, $ etc
- 26. Unterschied zwischen Strg K + D und Strg E + D
- 27. Acces direkt an D + & D- vom USB-Port
- 28. Converting 1-D-Array zu 2-D-Matrix mit überlappenden
- 29. Wie zu suchen:%,% 1 $ s,% 3 $ d,% d
- 30. SQL - Was bedeutet '^ \ d + \ D + $' bedeutet in regexp
?: Ist eine nicht erfassende Gruppe. Siehe: http://stackoverflow.com/questions/3512471/what-is-a-non-capturing-group –
Während das erwähnte Duplikat erklärt, was '?:' In der Regex tut, sollte die Motivation hinter der Verwendung hier noch sein Erklärt sein. –