0

すべての数字、アルファベット、および特殊文字のハイフン(-)のみを受け入れる正規表現が必要です。

私はこの表現を試みています:^\d+$/[-]/[a-z]しかし、それは機能しません。このような表現を受け入れたい:

Emp-IN-0000001

誰かがこれを手伝ってくれますか?

4

3 に答える 3

4

常にこの形式(Emp-IN-0000001)の場合は、次の正規表現を使用します。

^[a-zA-Z]+-[a-zA-Z][a-zA-Z]-[0-9]+$

または、正規表現を拡張した場合:

^[a-zA-Z]+-[a-zA-Z]{2}-\d+$

常に7桁の場合は、次を使用します。

^[a-zA-Z]+-[a-zA-Z]{2}-\d{7}$

あなたも言うことができます:

^Emp-IN-\d{7}$

正確に「Emp-IN-」+桁の場合。

ところで、これはC#固有ではありません。これらの正規表現は、regexpsをサポートしている限り、どの言語でも使用できます。

于 2012-10-28T18:34:59.167 に答える
2

この形式Emp-IN-0000001に固執したい場合は、次の正規表現を使用する必要があります。

^[a-zA-Z]+-[a-zA-Z]+-\d+$
于 2012-10-28T18:36:02.980 に答える
1

正規表現で試したものは実際にはわかりませんが、実際には次のように単純です。

^[a-zA-Z\d-]+$

または、空の文字列を許可する場合:

^[a-zA-Z\d-]*$

正規表現で大文字と小文字を区別しない修飾子を使用する場合は、a-zまたはA-Z両方のバリアントから除外できます。

このすばらしいチュートリアルで、いくつかの正規表現の基本を読むことをお勧めします。

于 2012-10-28T18:29:25.097 に答える