1 (изменено: Drusik, 2016-08-04 02:30:32)

Тема: AHK: Несколько условий в RegExMatch

Доброго времени суток товарищи, прошу у вас помощи.

Как в RegExMatch указать несколько значений?


log := {str:"",find:0,num:0}    ,    log.str := []

Loop, read, %path_log2%
    log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
	
loop 20
    if RegExMatch(     log.str[log.num + 1 - A_Index]
        ,"\[(.*)\]  (.*)  (.*)_(.*):  Привет"
        , end_str) and (log.find:=log.num + 1 - A_Index)
            break	

как мне в данном случае, строку:

"\[(.*)\]  (.*)  (.*)_(.*):  Привет"

Задействовать несколько раз, с разными ключевыми словами.
К примеру:


"\[(.*)\]  (.*)  (.*)_(.*):  Привет"
"\[(.*)\]  (.*)  (.*)_(.*):  Hi"
"\[(.*)\]  (.*)  (.*)_(.*):  ку"
"\[(.*)\]  (.*)  (.*)_(.*):  Здарова"

И так далее. Что бы искал в файле одну из этих фраз.

Очень нуждаюсь в вашей помощи.

2

Re: AHK: Несколько условий в RegExMatch

Drusik, ознакомьтесь с этой темой, отредактируйте свой пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Несколько условий в RegExMatch

teadrinker заголовок отредактировал, остальное вроде в норме

4

Re: AHK: Несколько условий в RegExMatch

|
Вертикальная черта разделяет варианты, между которыми можно выбирать. Совпадение принимается, если любой из альтернативных элементов совпадает. Например, gray|grey отвечает и gray, и grey. Аналогично шаблон gr(a|e)y делает ту же работу благодаря скобкам. Примечание переводчика: требуется добавить, что первым вариантом считается все от "(" или начала шаблона до '|', а последним - все от '|' до ")" или конца шаблона. Обычно, чтобы не запутаться, набор вариантов всегда заключают в скобки, даже если без этого можно было бы обойтись.

http://www.script-coding.com/AutoHotkey/RegEx.html

5

Re: AHK: Несколько условий в RegExMatch

Drusik пишет:

заголовок отредактировал, остальное вроде в норме

Нет, не в норме, точки расставьте.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Несколько условий в RegExMatch

Malcev спасибо, очень помогли. Это все моя не внимательность, читал эту тему, но не заметил.
teadrinker прошу прощения, вроде как все исправил, если нет, укажите пожалуйста пальцем. Грамматика моя, оставляет желать лучшего.