2017-03-13 11 views
-2

Ich möchte genau eine Zeichenfolge gefolgt von genau einem Leerzeichen und dann Zahlen übereinstimmen. I.e. Eingabe wäre Acc 1234, sollte als wahr ausgewertet werden.REGEX: Exakte Übereinstimmung mit einem Wort gefolgt von 1 Leerzeichen gefolgt von Ziffern

Hier ist mein regex, dass ich versucht habe:

[^(\\WAcc\\W)[ ]{1}\\d] 

Dies scheitert jedoch für Eingänge (AccA1234 oder Acc 1234 ACA oder Acc1234). Wie kann ich meine Regex mit meiner Eingabe (Acc 1234) genau vergleichen?

+0

* Spiel zu meinem Eingang (Acc 1234) exaclty *: '^ Acc \ d + $' – RomanPerekhrest

+0

Warum erwarten Sie ein Spiel 'AccA1234 'wenn innen kein Platz ist? –

+0

@ WiktorStribiżew es gilt als wahr, wenn ich meine Regex ausführen. Ich erwarte nicht, dass es wahr ist – theEUG

Antwort

1

\W ist ein Nicht-Wort-Zeichen. Ich vermute, dass Sie stattdessen nach \b, dem Word-Boundary-Matcher, suchten.

Ich würde diese regex versuchen:

^\bAcc\b \d+$ 
+0

Cool danke. Das funktioniert – theEUG

0
^[^\s]+\s\d+$ 
  1. ^ - behauptet der Linie beginnend
  2. [^\s]+ - etwas anderes als Raum passen, ein oder mehrere Zeichen
  3. \s - Spiel einzelner Raum, ist für Raumanpassung
  4. \d+ - eine von mehreren Ziffern
  5. $ - markiert das Ende der Linie
+0

Wo in meinem Regex würde ich das platzieren? – theEUG

+0

das ist die gesamte Regex – saikumarm

+0

Dies funktioniert jedoch nicht. – theEUG

Verwandte Themen