1

Тема: Захват части условия, заданного в RegExMatch

Как сделать в RegExMatch присвоение переменной только части искомого выражения?
Пример из инструкции:

RegExMatch("abcXYZ123", "abc(.*)123", SubPat)  ; Возвращает 1 и сохраняет "XYZ" в SubPat1

Вот эти скобки в середине... они у меня просто не работают. Возвращается мне почему-то вся удовлетворяющая условию часть строки, а не та её часть, которую я ограничил скобками.


WinWait, GTA: San Andreas
!3::Pause
!1::            
UrlDownloadToFile, https://docs.google.com/spreadsheets/d/11bQVUu5hbxbDxjetzi7htThVMiPu_8Qp6QvMreSaypE/export?exportFormat=csv, %A_ScriptDir%\Blacklist.csv ;Берём конвертированный список
File = %A_ScriptDir%\Blacklist.csv      ; открываем сохранённый файл
Loop, Read, %File%
{
    if RegExMatch(A_LoopReadLine, "(/id\s.*?_.*)?,.*?,.*?,.*?,.*?,,", id)
    SendInput, {F6}%id%{Enter}
    Sleep, 1000
}
FileDelete, %A_ScriptDir%\Blacklist.csv
!2::Reload
FileDelete, %A_ScriptDir%\Blacklist.csv
Return

Что я делаю не так?

2

Re: Захват части условия, заданного в RegExMatch


FoundPos := RegExMatch("abcXYZ123", "abc(.*)123", SubPat)  ; Возвращает 1 и сохраняет "XYZ" в SubPat1.

Обратите внимание, в какой переменной возвращается часть в скобках.