2011-12-22 23 views
-2

これはJS正規表現で、少なくとも1つのアルファベットを持ちます。いずれかの文字列に1つの特殊文字が&です。アルファベット1文字以上の特殊文字を持つ正規表現

var pattern = /^(?=.*?[a-z])(?=.*?\d)(?=.*?[[email protected]#$%\^&*\(\)\-_+=;:'"\/\[\]{},.<>|`])/i 
pattern.test("[email protected]#") 

どのようにC#で同じ正規表現を書くのですか?

+0

をどのようhttp://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex [ 'RegEx'](使用について.aspx)クラス? – Oliver

+0

FYI、これはJS正規表現で、任意の文字列に少なくとも1つのアルファベット、1つの数字と1つの特殊文字を持つものです。 C#でこれを書く手助けをしてくれてありがとうございます。 – Riz

答えて

3

これは、実行する必要があります。

if (Regex.IsMatch("[email protected]#", 
       @"^(?=.*?[a-z])(?=.*?\d)(?=.*?[[email protected]#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`])", 
       RegexOptions.IgnoreCase)) 
{ 
    // do something 
} 
+0

これもコンパイルされていないようです... – Nailuj

+0

逐語的な文字列の中にある二重引用符を二重にする必要があります。 –

+0

@Nailuj私の悪い - '' 'はエスケープするには' '' ''にする必要があります –

1
Match match = Regex.Match("[email protected]#", @"/^(?=.*?[a-z])(?=.*?\d)(?=.*?[[email protected]#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`])/i", 
     RegexOptions.IgnoreCase); 


if (match.Success) 
{ 
    ... 
} 
+0

これは正しくコンパイルされていないようです... – Nailuj

+0

あなたはどんなエラーがありますか?正規表現は文書化されたクラスです:http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx – Akhil

+0

あなた自身でコンパイルを試みたことがありますか?特殊文字がたくさんある複雑な表現なので、単純にRegexに入れることはできません(いいえ、@を前に置いてください)。 1つのエラーは例です:エラーCS1056:予期しない文字 '\'。 – Nailuj

関連する問題