0

数字、テキスト、およびこれら2つの特殊文字のみに一致する正規表現の記述方法#および-[a-zA-Z0-9#-\s]+その他は拒否する必要があります

4

3 に答える 3

3

これに似た正規表現を使用できます

^(\d|[a-z]|[A-Z]|#|-)*$

以下は、C# で正規表現をチェックするために使用したコードです。

string input = @"343243-2df---ds#SFD#FD";
string pattern = @"^(\d|[a-z]|[A-Z]|#|-)*$";

Console.WriteLine(Regex.Match(input, pattern).Success);
Console.ReadLine();

また、今後の参考資料として、次の正規表現サイトを参照してください: http://www.regular-expressions.info/

于 2012-11-27T07:43:07.300 に答える
3

次のパターンは C# で機能すると思います。

string pattern = @"^[a-zA-Z\d\s#-]*$";

C#インタラクティブでいくつかのテストケースを試しました:

Regex.Match("", pattern).Success
> true
Regex.Match("asdf 2F#-#-", pattern).Success
> true
Regex.Match("asdf~asdf", pattern).Success
> false

空の文字列を受け入れたくない場合は、パターンで * を + に変更するだけです。また、質問で空白に一致させたいとは言いませんでしたが、パターンの例は空白に一致します。空白を一致させたくない場合は、\s を削除します。

更新: Rawling の提案に従って編集されました。

于 2012-11-27T08:31:17.357 に答える
0

これを試して:

^([a-z]|[A-Z]|[#]|[0-9]|[-])+$
于 2012-11-27T07:38:27.110 に答える