Bir web sayfasında belirli bir dize bulmak istiyorum. RegEx'i kullanmaya karar verdim. (RegExes'imin oldukça korkunç olduğunu biliyorum, ancak işe yarıyorlar). Benim iki ifadeler, Notepad ++ (muhtemelen < 1s) ve Regex101'da kullanıldığında çok hızlıdır, ancak AutoHotKey'de kullanıldığında korkunç derecede yavaştırlar - yaklaşık 2-5 dakika. Bunu nasıl düzeltirim?Çok yavaş RegEx AHK henüz hızlı Notepad ++
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
}
DÜZENLEME: eşleştiği sürece sayfasında Lublin
olduğunu. Bir göz atın: https://regex101.com/r/qJ2pF8/1
Düzenli ifadeler tam olarak eşleşmelidir? Onları geliştiremediğimiz bazı örnekler verin! –
Sayfanın kaynağını açın ve RegEx'i çalıştırın. "Lublin" alacaksın. Sağladığım bağlantıyı da kullanabilirsiniz. – menteith
Neden bu yerine [.] [\ S \ S] '' yi kullanmıyorsunuz? –