Так пойдёт:
Код:

Dim $aLines[9] = _
[ _
'when haveoverpair and (hand=99 or hand=44) and totalinvested > 120% stacksize raisemax force', _
'when not BotRaisedBeforeFlop and bets=1 and raises>0', _
'when (havestraightflush or havequads ) raisemax force', _
'when tripsonboard and NutFullHouseOrFourOfAKind=0 fold force', _
'when tripsonboard and NutFullHouseOrFourOfAKind>3 fold force', _
'when (havefullhouse or haveflush or havestraight or haveset) raisemax force', _
'when havetrips and HaveBestKicker raisemax force', _
'when haveoverpair and (hand=AA or hand=KK) raisemax force', _
'when (haveflushdraw or havestraightdraw) and overcards>0 raisemax force' _
]
For $sLine In $aLines
ConsoleWrite("===================================" & @LF & _AutoItParseLine($sLine) & @LF)
Next
Func _AutoItParseLine($sLine)
Local $sOperators, $aLine, $aVars, $sRet
$sOperators = 'and|or|not'
;Разделяем строку на две части. 1-ая это вся строка без двух последних переменных (на конце), а 2-ая это и есть последние две переменные (см. далее)
$aLine = StringRegExp($sLine, '(?i)(.*?)(?: ([a-z_]+ [a-z_]+))?$', 3)
;Получаем все переменные в массив (! переменные не могут содержать числа)
$aVars = StringRegExp($aLine[0], '(?i)([a-z_]+)', 3)
;Парсируем проценты (120%)
$aLine[0] = StringRegExpReplace($aLine[0], '(\d+)% ([a-z_]+)', '(\2 / 100 * \1)')
;Парсируем первую переменную, присваиваем ей всё остальное выражение ("$when = ")
$aLine[0] = StringRegExpReplace($aLine[0], '(?i)^(when )', '$\1= ')
;Оперделяем строку возврата (эта строка уже обрезана, и не содержит двух последних переменных)
$sRet = $aLine[0]
;Если строка содержит на конце две переменные...
If $aLine[1] <> '' Then
;Добавляем эти переменные в перевёрнутом порядке на новую строку
$sRet &= @CRLF & StringRegExpReplace($aLine[1], '([a-z_]+) ([a-z_]+)$', "$\2 = '\1'")
EndIf
;Проходимся по массиву переменных...
For $sVar In $aVars
;Если это не оператор...
If Not StringRegExp($sVar, '(?i)^(' & $sOperators & ')$') Then
;Добавляем к имени переменной символ $
$sRet = StringRegExpReplace($sRet, '\b(?<!\$)' & $sVar & '\b', '$' & $sVar, 1)
EndIf
Next
;Возвращаем полученную строку
Return $sRet
EndFunc
?
