1

Тема: AHK: Регулярные выражения

Приветствую вас Боги Autohotkey, помогите пожалуйста сделать шаблон регулярного выражения, есть файл с текстом, я читаю файл целиком в переменную, нужно вытащить только  значение "Адрес" из файла, значение всегда разное, номер строки тоже меняется, пример содержимого txt файла:

Имя: Виктория
Телефон: +7777777777
Почта: 05er071098@gmail.com
Адрес: Георгиевский проспект Зеленоград

Нужен шаблон, чтобы находилось слово Адрес: , после пробела забирало только это значение, а самj слово Адрес: , исключить.
Сам скрипт, я написал, а вот шаблон, не получается сделать.

FileRead, Read, Инфо.txt
RegExMatch(Read, "Адрес: Георгиевский проспект Зеленоград", Out)

2

Re: AHK: Регулярные выражения

Такой вариант:

str =
(
Имя: Виктория
Телефон: +7777777777
Почта: 05er071098@gmail.com
Адрес: Георгиевский проспект Зеленоград
88888
)
str := RegExReplace(str, "s).*Адрес: ?([^\r\n\R]*).*", "$1")
MsgBox % str

3 (изменено: tregalka, 2023-04-24 22:07:30)

Re: AHK: Регулярные выражения

john_dease
Спасибо!
Но если адрес будет такого значения:

Адрес: SOLGRUS, Георгиевский проспект Зеленоград.

На выходе получается только: SOLG
Еще скажи, пожалуйста, через RegExMatch, нельзя это дело провернуть?).

4 (изменено: john_dease, 2023-04-24 22:17:23)

Re: AHK: Регулярные выражения

Да, надо было так:

str =
(
Имя: Виктория
Телефон: +7777777777
Почта: 05er071098@gmail.com
Адрес: SOLGRUS, Георгиевский проспект Зеленоград.
88888
)
RegExMatch(str, "m`a)Адрес: ?(.*)", match)
MsgBox % match1

5

Re: AHK: Регулярные выражения

Или так:

str =
(
Имя: Виктория
Телефон: +7777777777
Почта: 05er071098@gmail.com
Адрес: Георгиевский проспект Зеленоград
88888
)
RegExMatch(str, "Адрес: \K\V+", m)
MsgBox % m
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6 (изменено: tregalka, 2023-04-25 00:44:28)

Re: AHK: Регулярные выражения

teadrinker
Спасибо большое! Идеально! \K я раньше встречал в регулярных выражениях, что означало не учитывать, но почему то в справке ahk по регулярным выражениям, этого не было .