0

ASP.NET 3.5、VB.NET を使用しており、正規表現を使用していくつかの入力を検証しようとしています。

私の表現は次のとおりです。

^[a-zA-Z'_''-''/'' ''\''@''&''.'',''ç''Ç''ö''Ö''I''ı ''i''İ''ğ''Ğ''ş''Ş''ü''Ü'\s\d]{1,50}$

そして、「 - 」を除いて、私が含めたすべての特殊文字で機能します。うまくいきません。Internet Explorer と Firefox を試しましたが、同じ問題が発生しました。どうすれば修正できますか?

4

4 に答える 4

3

なぜすべての一重引用符?それらは不要です。

^[-a-zA-Z_/\\@&.,çÇöÖIiiIgGsSüÜ\s\d]{1,50}$
  ^^ ^^

「-」を文字クラスの先頭または末尾に移動して、認識させます。また、バックスラッシュは適切にエスケープする必要があります。そうしないと、バックスラッシュも一致できなくなります。

上記の「^」マークを参照してください。

于 2009-02-12T14:23:49.120 に答える
3

- 文字は、そのコンテキストで特別な意味を持ちます。バックスラッシュでエスケープするか、ブロックの最後の文字としてリストします。

于 2009-02-12T14:21:25.990 に答える
1

- 文字の前に \ を配置してエスケープする必要があります。正規表現は次のようになります

^[a-zA-Z'_''\-''/'' ''\''@''&''.'',''ç''Ç''ö''Ö''I''ı''i''İ''ğ''Ğ''ş''Ş''ü''Ü'\s\d]{1,50}$  
于 2009-02-12T14:23:42.413 に答える
1

正規表現文字グループ[...]では、マイナス記号は有効な文字の範囲を指定する範囲を意味します。一連の記号 (すべての文字、数字など) がたくさんあり、それらすべてを一覧表示したくない場合に便利です。

例:[0-9] これは、0、1、2、3、4、5、6、7、8、または 9 のすべての数字に一致しますが、マイナス記号には一致しません。

マイナス記号を直接一致させるには、前にバックスラッシュを付けます。

例:[0\-9] これは、数字の 0、マイナス記号、または数字の 9 に一致します。

于 2009-02-12T14:21:41.043 に答える