2017-12-05 2 views
0

Ich verwende diesen regulären Ausdruck "\d+", um eine beliebige numerische (0-9) in meinem Code, aber wie kann ich es ändern, um auch Fragezeichen?Was ist ein RegEx für ein beliebiges numerisches ODER-Fragezeichen?

Zum Beispiel möchte ich 04/??/1992 04 ?? 1992 zurückgeben, und ich will -123? 6, 123? 6 zurückzugeben, und ich will nur 123 123 zurückgeben. Grundsätzlich möchte ich übereinstimmen eine beliebige Zahl (0-9) und nur Fragezeichen.

Jede Hilfe würde sehr geschätzt werden! Vielen Dank.

+0

sein, wenn Sie meine Frage sind dann Downvoting zumindest lassen Sie mich wissen, warum? Also kann ich es reparieren? – Matthew

Antwort

0

Sie können den Operator [] verwenden, um die Zeichenklasse anzugeben, die erweitert, was zulässig ist.

würde Ihre Lösung [\d?]+

+0

Perfekt, danke! – Matthew

+0

Keine Notwendigkeit, das Fragezeichen in der Zeichenklasse zu entkommen. Das entspricht auch einem Pluszeichen, da es innerhalb der Klasse (den Klammern) liegt. Das Plus gehört außerhalb – pinkfloydx33

+0

@ pinkfloydx33 Sie haben Recht. Es wurde behoben. –

0

Dies sollte Ihre Bedürfnisse abdecken: string result = Regex.Replace(input, @"[^\d?]", "");.

Verwandte Themen