Überprüfen Sie, ob die Zeichenfolge eine mögliche Übereinstimmung für Regex darstellt

8

Grundsätzlich möchte ich einen regulären Ausdruck wie # [0-9] + haben und prüfen können, ob eine Zeichenkette mit ihm übereinstimmen kann. Wenn ich zum Beispiel Benutzereingaben erhalte und sie "#" eingeben, stimmt diese Zeichenfolge nicht mit der Regex überein, sondern könnte auch sein, wenn der Benutzer auch einige Zahlen eingegeben hat.

Ich weiß, dass C ++ die Funktionen von matches () hat, aber gibt es da draußen etwas, wonach ich suche? Oder eine Möglichkeit, es zu tun?

Danke

    
Pottsiex5 03.11.2015, 12:49
quelle

3 Antworten

4

HAFTUNGSAUSSCHLUSS: Das Folgende ist eine ziemlich naive Annäherung, die weder schnell noch schön ist. Aber es macht die Arbeit für einfache Regex erledigt. Ich empfehle das nicht, ohne zu verstehen, was es macht

%Vor%

Ausgabe:

%Vor%     
Simon Kraemer 03.11.2015, 16:42
quelle
7

Sie können Boost.Regex verwenden. die bereits teilweise Übereinstimmungen implementiert.

  

Bei Verwendung zeigt es an, dass sowohl teilweise als auch vollständige Übereinstimmungen gefunden werden sollten. Eine Teilübereinstimmung ist eine Übereinstimmung mit einem oder mehreren Zeichen am Ende der Texteingabe , stimmt jedoch nicht mit allen regulären Ausdrücken überein (obwohl dies möglicherweise der Fall war) mehr Eingabe war verfügbar).

Code

%Vor%

rextester-Demo

    
Mariano 03.11.2015 20:35
quelle
-5

Der folgende Code überprüft, ob eine Zeichenfolge einen Ausdruck mit einem "#" am Anfang und gefolgt von einer oder mehreren Zahlen ...

übereinstimmt %Vor%     
dspfnder 03.11.2015 13:02
quelle

Tags und Links