StringRegExp in _InetGetSource()

  • Hallo liebe AutoIt.de Community,


    ich habe ein script geschrieben, das ein StringRegExp in einer _InetGetSource() machen soll...

    allerdings habe ich ein Problem, und zwar folgendes:

    [autoit]


    #include <IE.au3>
    #include <Inet.au3>
    $Thanks = _InetGetSource("http://www.google.de/")
    StringRegExp($Thanks, "html onmousemove")

    [/autoit][autoit][/autoit][autoit]

    If @error Then
    MsgBox (0, "Error", "Error")
    ElseIf NOT @Error Then
    MsgBox (0, "String existiert in Google.de Quellcode", "String existiert")
    EndIf

    [/autoit]


    Wenn ich dort etwas reinschreibe wie BÄhADHASDHSD oder so, meldet er immer noch das der String existert ...

    Wieso ?

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Mit dem Flag 0 (=default) gibt Stringregexp gar keinen @error bei "no match" aus.

    [autoit]


    $string = "hallo"
    $test= StringRegExp($string, "test")
    if @error then MsgBox(1, "", @error)
    if not @error then MsgBox(1, "", $test)

    [/autoit][autoit][/autoit][autoit]

    $test= StringRegExp($string, "hallo")
    if @error then MsgBox(1, "", @error)
    if not @error then MsgBox(1, "", $test)

    [/autoit]
  • @error testet, ob beim Funktionsaufruf ein Fehler auftrat. Fehlender Treffer wird aber nicht als Fehler gewertet, stattdessen wird True oder False zurückgegeben, also:

    [autoit]

    #include <IE.au3>
    #include <Inet.au3>
    $Thanks = _InetGetSource("http://www.google.de/")

    [/autoit][autoit][/autoit][autoit]

    If StringRegExp($Thanks, "html onmousemove") Then
    MsgBox (0, "String existiert in Google.de Quellcode", "String existiert")
    Else
    MsgBox (0, "Error", "Error")
    EndIf

    [/autoit]


    Aber für diesen Test reicht auch StringInStr statt StringRegExp ;)