Das ist, was ich habeJava Regular Expression Dollar entsprechen beträgt
\$?[0-9]+\.*[0-9]*
Verwendung Aber wenn ich einige Tests tat bemerkte ich, dass Dinge wie
$$$34.00
als Spiel zurückkehren würde (aber matcher.group()
) gibt nur die übereinstimmende Teilzeichenfolge zurück. Ich will es nicht sogar den regulären Ausdruck übergeben, wenn der Benutzer Zeichen mehr als einen Dollar geht, so kann ich dies versucht:
\${1}[0-9]+\.*[0-9]*
aber dies scheint die gleiche wie die regulären Ausdruck verhalten i zuerst eingegeben haben. Im Moment teste ich das in Java, aber ich plane, es in C++ mit den Boost-Bibliotheken zu verwenden. Aber bitte geben Sie mir diese Lösung hier nicht, weil ich versuche, ohne jemanden zu lernen, der mir die Antwort gibt.
aber ich Hilfe braucht es, damit der Benutzer machen kann immer nur ein Dollarzeichen eingeben (das, was ich dachte, ist \${1}
tun würde)
Würde es nicht auch eine Reihe von Perioden in Folge zulassen? –
können Sie den Anfang und das Ende eines Strings wie^\ $ {1} [0-9] + \. * [0-9] * $ –
angeben Ist die Menge der gesamte String? Wie passen Sie es derzeit an? Mit '.find()'? – fge