2016-06-29 3 views
-1

ich die folgenden regulären Ausdruck für einen meiner Namensfelder in C# Web-App haben:Wie wird ein Apostroph als zulässiges Zeichen zum vorhandenen regulären Ausdruck hinzugefügt?

^[A-Za-zÀ-ſ0-9.,#&-/'[email protected];]?[a-zA-ZÀ-ſ0-9 '#&-/.,_:[email protected];]*[A-Za-zÀ-ſ0-9.,#-/[email protected];]$ 

Wie kann ich es richtig ändern, um Apostroph/Apostroph-Zeichen (') als zulässiges Zeichen, um es hinzuzufügen?

+1

Ist es nicht schon? https://regex101.com/r/mJ0lX9/1 –

+1

mit Schrägstrich, wie diese \ ' –

+1

oder setzen Sie ein '@' vor der Zeichenfolge, um es [rohe Zeichenfolge] (https://msdn.microsoft.com/en -us/library/aa691090% 28v = vs.71% 29.aspx) –

Antwort

1

' wird verwendet, um ein Zeichen zu deklarieren, so setzen Sie einen Backslash vor dem ', um es zu entkommen, wie dieses \'.

+0

Kannst du mir bitte sagen, wo es in meine RegEx eingetragen werden soll? Wiederum ist das, wie meine RegEx-String definiert ist: "^ [A-Za-z \ u00C0- \ u017F0 -9., # & -/'_! @;]? [A-zA-Z \ u00C0- \ u017F0-9' # & - /., _:! @;] * [A-Za-z \ u00C0 - \ u017F0-9., # -/_! @;] $ " – Peter

+0

Ihr Code sollte' public const string sein REGEX_NAME = "^ [A-Za-z \ u00C0- \ u017F0-9., # &-/'[email protected];]? [ a-zA-Z \ u00C0- \ u017F0-9 '# & - /.,:! ​​@;] * [A-Za-z \ u00C0- \ u017F0-9., # -/_! @;] $ " ; ' –

+0

Versuchte es b Aber es schlägt immer noch fehl. Backslashed vor den Apostrophen scheint beim Debuggen nicht sichtbar zu sein. Ich habe auch '\ u005C' anstelle von '\' verwendet, aber immer noch keinen Erfolg. – Peter

0

Es stellte sich heraus, dass die RegEx in Ordnung war, und es war die Art, wie die Daten in die Datenbank eingegeben wurden, die das Problem verursacht haben. Bei Insert-Anweisungen sollten die Apostrophe maskiert sein. Obwohl die Apostrophe korrekt angezeigt wurden, hatten sie die RegEx-Prüfung aufgrund fehlender Apostrophe nicht bestanden. Vielen Dank für Ihren Rat und Entschuldigung im Falle einer Enttäuschung!

Verwandte Themen