0

QTP の正規表現に問題があり、このパターンが機能しない理由がわかりません。

Dim objRegExp
Set objRegExp = New RegExp
                objRegExp.Pattern = Replace(Replace(Replace("Millennium [AUT]", "\", "\\"), "(", "\("), ")", "\)")
                objRegExp.IgnoreCase = True
If objRegExp.Execute("Millennium [AUT]").Count < 1 Then
    Set objRegExp = Nothing
End If

Method Count は 0 の値を返します。誰か助けてください。

4

2 に答える 2

1

.Replace チェーンは、"Millennium" の後に " " が続き、その後に "A"、"U"、または "T" のいずれかの文字が続くパターン "Millennium [AUT]" を変更しません。入力「Millennium [AUT]」には、パターンが「A」、「U」、または「T」を想定する「[」があります。

したがって、正規表現の問題の解決策を尋ねるときは、一般的なルールに従ってください: 少なくとも 1 つのサンプル入力とその期待される結果を提供してください。

おそらくあなたは次のことを意味しました:

>> set r = New RegExp
>> r.Pattern = "Millennium \[AUT\]"
>> set mts = r.Execute("Millennium [AUT]")
>> WScript.Echo mts.Count
>>
1
于 2013-06-10T11:09:28.820 に答える
0

このサイトを使用して、REGEX を確認します。

http://regexpal.com/

幸運を!

于 2013-06-10T18:12:06.283 に答える