は、あなたがしたいものです行う。
Password="abcd123"
Set myRegExp = New RegExp
myRegExp.Global = True ' This is required to get all matches
myRegExp.Pattern = "[a-z]"
Response.Write myRegExp.Execute(Password).Count
しかし、私はあなたにいくつかの提案があります。
あなたのルールは+
で欲しいものにすることができます。これにより、サイクルが短縮されます。
最初のものだけでなく、.Global
からTrue
までをすべて一致させる必要があります。
この方法では、適切な結果を見つけるために一致コレクション(myRegExp.Execute
から返されます)をループする必要があります。
Password="abcd123fooBar"
Set myRegExp = New RegExp
myRegExp.Pattern = "[a-z]+"
myRegExp.Global = True
count = 0
For Each match In myRegExp.Execute(Password)
count = count + match.Length
Next
Response.Write count 'prints 9
そして、ここで同じに別の方法です。
これはすべて小文字ではない文字と一致し、結果文字列からそれらを削除します。その後、Len
機能を使用して長さを取得することができます。
Password="abcd123fooBar"
Set myRegExp = New RegExp
myRegExp.Pattern = "[^a-z]+"
myRegExp.Global = True
count = Len(myRegExp.Replace(Password, ""))
Response.Write count 'prints 9
私が削除した*パターンから、このため –