1

私は正規表現を書きたいと思っていますが、オンラインでの調査は私をあちこちに連れて行ってくれます。これが私がやろうとしていることです:

[Required]
[RegularExpression("MyRegExString", ErrorMessage = "Use only valid characters.")]
public string Name { get; set; }

ユーザーが任意の英字 (大文字または小文字) と数字を入力できるようにし、スペースを含め、_ (アンダースコア)、$、#、*、(、)、+、@、、、(カンマ)および ' (アポストロフィ)。

この文字列の生成を手伝ってくれる人はいますか?

4

3 に答える 3

5

それらすべてを文字クラスに入力し、文字列全体がこのクラスの文字で構成されていることを要求するだけです(それぞれ先頭と末尾に^とアンカーを配置することにより)。$

"^[a-zA-Z0-9_ $#*()+@,']*$"

\w正規表現には、文字 (小文字と大文字)、数字、またはアンダースコアに一致する組み込みの文字クラスもあり、このわずかに短いバージョンを使用できます。

"^[\w $#*()+@,']*$"

空の文字列を許可しない場合は、末尾+の代わりに使用します。*

于 2012-10-12T18:44:56.720 に答える
1

\w任意の英字、数字、またはアンダースコアを表します。残りは 1 つずつ追加する必要がありますが、一部の環境ではドル記号を でエスケープする必要が\あります。そうしないと文字列の終わりを表すからです。符号^は文字列の始まりを表します。星*は「なし以上」の[...]意味と「中の文字のどれか」という意味があります。

^[\w \$#*()+@,']*$
于 2012-10-12T18:46:18.123 に答える
0

^[a-zA-Z]+$の中に好きな文字を追加してください[...]

一部の特殊文字は、でエスケープする必要があります\

例:

/^[a-zA-Z!”$%&’()*\+,\/;\[\\\]\^_{|}~]+$/
于 2012-10-12T18:53:32.007 に答える