У меня есть файл au3 (сценарий автоматического запуска), в котором есть много строк. НапримерСложная замена регулярных выражений, строки для вызова функции
;This is autoit
$string1 = "This is a test string" & @crlf & "Wow, autoit syntax!"
$string2 = "This string has a var. Var1=" & $var1
$wow = random_function("Another string") & "this is getting complex"
magic_function("var1=" & $var1 & @crlf & "other var=" & $var2)
$multivar = "This string has 2 vars: var1=" & $var1 & " var2=" $var2"
Это вид текста у меня есть, и я хотел бы, чтобы заменить каждую строку с вызовом функции. Например, выше сценарий станет
;This is autoit
$string1 = get_string(1) & @crlf & get_string(2)
$string2 = get_string(3,$var1)
$wow = random_function(get_string(4)) & get_string(5)
magic_function(get_string(6,$var1) & @crlf & get_string(7,$var2))
$multivar = get_string(8,$var1,$var2)
ИЛИ
;This is autoit
$string1 = get_string(1,@crlf)
$string2 = get_string(3,$var1)
$wow = random_function(get_string(4)) & get_string(5)
magic_function(get_string(6,$var1,@crlf,$var2))
$multivar = get_string(8,$var1,$var2)
Оба хороши для меня. Я думаю, что это сложная замена регулярных выражений или какая-то конкатенация тех, и поскольку моя способность к регулярному выражению меня очень разочаровывает, я прошу вас о помощи или некоторых идеях.
Я знаю, что в скрипте есть много связанных с кодом строк, которые не следует заменять, позвольте мне сделать эту часть. Мне просто нужна часть регулярного выражения.
Я думал об использовании php для создания сценария замены строк, потому что я чувствую себя более комфортно с ним. Я начинаю сценарий с
//This is php
$file = "test.au3"
$lines = file($file)
foreach($lines as $index => $line){
$newLine = preg_replace(/*magic regex here*/);
}
поэтому замена может быть выполнена на каждой отдельной строке, так как у меня нет многострочных строк. Благодарим за помощь