ウェブページで特定の文字列を検索したいと思います。私はRegExを使うことにしました。 (私は私のRegExesがかなりひどいことを知っている、しかし、彼らは働く)。私の2つの表現は、メモ帳++(おそらく< 1秒)とRegex101で使用すると非常に高速ですが、AutoHotKeyで使用すると恐ろしく遅くなります。これをどうやって解決するのですか?AHKでRegExが非常に遅いが、メモ帳では高速です。++
sWindowInfo2 = http://www.archiwum.wyborcza.pl/Archiwum/1,0,4583161,20060208LU-DLO,Dzis_bedzie_Piast,.html
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", sWindowInfo2, false), whr.Send()
whr.ResponseText
sPage := ""
sPage := whr.ResponseText
; get city name (if exists) – the following is very slooooow
if RegExMatch(sPage, "[\s\S]+<dzial>Gazeta\s(.+)<\/dzial>[\s\S]+")
{
sCity := RegExReplace(sPage, "[\s\S]+<dzial>Gazeta\s(.+)<\/dzial>[\s\S]+", "$1")
;MsgBox, % sCity
city := 1
}
if RegExMatch(sPage, "[\s\S]+<metryczka>GW\s(.+)\snr[\s\S]+")
{
sCity := RegExReplace(sPage, "[\s\S]+<metryczka>GW\s(.+)\snr[\s\S]+", "$1")
city := 1
}
編集:私は試合はLublin
提供されるページで 。見てください:https://regex101.com/r/qJ2pF8/1
正規表現は正確に一致する必要がありますか?我々はそれらを改善することはできませんいくつかの例と一緒に! –
ページのソースを開き、RegExを実行します。あなたは "ルブリン"を取得します。私が提供したリンクを使用することもできます。 – menteith
この '[\ s \ S]'の代わりに '.'を使わないのはなぜですか? –