問題があります。C#で正規表現が正常に動作しない
スウェーデン語のキーボード(文字マップなどを使用しない)で見ることができるすべてのものをユーザーが書き込めるようにします。これはすべて英語の英数字とåäö
を意味します。許可される英数字以外の文字は§½!"@#£¤$%&{/()[]=}?+\´`^
などです。
私の式は次のとおりです。
[\wåäö§½!"@#£¤$%&/{()=}?\\\[\]+´`^¨~'*,;.:\-_<>|]
C#では、それは次のようになります。
Regex allowedChars = new Regex("@[\\wåäö§½!\"@#£¤$%&/{()=}?\\\\[\\]+´`^¨~'*,;.:\\-_<>|]");
私はそれをチェック:
if (allowedChars.IsMatch(mTextBoxUserName.Text.Trim()))
問題があれば、私は、不良を書くことです許可された文字と一緒に、if文が一致すると考えます。私はそれを単語全体と一致させたい。私は式の最後に "+"を追加しようとしましたが、それは決して一致しませんでした...
アイデア?
'\"を簡略化するために '@" "リテラルを使うべきです – SLaks