Тема: АНК: Регулярные выражения + переменные?
Есть ли возможность использовать переменные и выражения в регулярных выражениях?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть ли возможность использовать переменные и выражения в регулярных выражениях?
Есть ли возможность использовать переменные и выражения в регулярных выражениях?
Не знаю как остальные, но я вопроса не понял. Придумайте конкретный пример.
Вероятно, имеются в виду паттерны в RegExMatch() и RegExReplace().
Text = Мама мыла раму
Var1 = Мама
Var2 = мыла
Var3 = раму
Loop 3
{
RegExMatch(Text, "P)(" . Var%A_Index% . ")", Found)
MsgBox, % FoundPos1
}Наверное это паттерны. Например, есть код:
clipboard = мотор
RegExMatch(clipboard, "мо[^ ]{3}", match) ; находит слово мотор
MsgBox, %match%Как правильно составить регулярное выражение, если вместо "мо" вставить переменную Var = мо ?
clipboard = мотор
Var = мо
RegExMatch(clipboard, Var . "[^ ]{3}", match) ; находит слово мотор
MsgBox, %match%Спасибо!
Так просто оказалось!:lol: А я запарился выдумывать варианты.
Главное все в кавычках ставил. А потом еще с паттерном экспериментировал. Нет хорошего хелпа по регулярным выражениям.
Опять не ясно, как применить переменные в регулярных выражениях.
clipboard = стол Var = слот Var2 = 4 ; Как вставить переменные Var и Var2 ? RegExMatch(clipboard, "[слот]{4}", match) ; находит слово стол MsgBox, %match%
Переменные — без кавычек, текстовые данные — в кавычках:
clipboard = стол
Var = слот
Var2 = 4
; Как вставить переменные Var и Var2 ?
RegExMatch(clipboard, "[" Var "]{" Var2 "}", match) ; находит слово стол
MsgBox, %match%Спасибо! Опять все просто оказалось. Гениальное - просто! На этот раз я все пробовал без кавычек, как в предыдущем примере.
Подскажите, пожалуйста, как верно внести переменную в параметры ф-ии?
if (A_UserName= "Admin"){
pricon = D:\Soft\AHK\Scripts\icons\Premiere 2018 ACER\
}
ImageWaitClick(pricon "analyze.png", 500) ; ???
return
ImageWaitClick(pic, time:=1000){
CoordMode, Pixel, Screen
EndTime := A_TickCount + time
While EndTime>A_TickCount {
ImageSearch, picX, picY, 0, 0, A_ScreenWidth, A_ScreenHeight, % pic
If !ErrorLevel
Break
}
If ErrorLevel
Tippy("Image Not Found!", 2000)
Else
ClickAndReturn(picX,picY)
}
ClickAndReturn(x,y){
ControlGetPos ,,,,,, ahk_id %StartCtrl%
MouseGetPos, StartX, StartY
MouseClick, , %x%, %y%, , 0.1
MouseMove, StartX, StartY
}
stealzy, смежный вопрос. Слишком много тем про переменные, среди которых не было конкретно привязанной к функциям. Решил не заводить новую, т.к. посчитал вопрос проходным, не заслуживающим отдельной темы. Открыл новую тему.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться