1

Тема: AHK: Помощь с RegExReplace.

Ребят, с Новым годом! Прошу помощи, есть текстовый документ, в котором надо все директории файлов обрезать,
оставив имя и расширение файла. Директории и имена файлов всегда меняются, неизменным остается только "file=".
Пытался отталкиваться от последней наклонной, сколько бьюсь, никак не получается.
Пример: строка file=C:\Users\Admin\Desktop\3\2\Test.zip должна стать file=Test.zip

Вид файла
file=C:\Users\Admin\Desktop\3\2\Test.zip
Version 34534
file=C:\Users\Admin\Desktop\Test.exe
Version 34534
file=C:\Users\Admin\Desktop\3\2\test\File.zip
Version 34534
file=C:\Users\Admin\Desktop\3\2\1\File.mp3

F2::
FileDelete, 2.txt
FileRead, Text, 1.txt
NewText:=RegExReplace(Text, "file=[^`n]*", "file=")
FileAppend, %NewText%, 2.txt
Msgbox, %NewText%
Return 

2

Re: AHK: Помощь с RegExReplace.

Попробуйте так:

MsgBox % RegExReplace(text, "m`a)=\K.*\\")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Помощь с RegExReplace.

teadrinker пишет:

Попробуйте так:

MsgBox % RegExReplace(text, "m`a)=\K.*\\")

Премного благодарен, работает как надо!

4

Re: AHK: Помощь с RegExReplace.

По какой причине пример выводит числа, которых нет в исходной переменной?

n := 1171

n:=RegExReplace(n,"U)^(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)$", "<«$1»“$2”‘$3’><«$4»“$5”‘$6’><«$7»“$8”‘$9’><«$10»“$11”‘$12’>")
loop 10
   n:=RegExReplace(n,"(<>|«»|“”|‘’)", "")

MsgBox, %n%

Задача в том, чтобы числа группировались по три штуки с конца, а потом внутри группы - оборачивались тремя видами кавычек. Но почему-то цифровой шаблон нестандартно отрабатывает.

5

Re: AHK: Помощь с RegExReplace.

Непонятно, что конкретно из данного числа вы хотите получить в итоге.

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

6

Re: AHK: Помощь с RegExReplace.

Это я так их разбиваю на сотни, десятки и единицы, чтобы проще было определять, где что. Узнал, что после $9 их надо заключать в фигурные скобки.

7

Re: AHK: Помощь с RegExReplace.

1srafel Если будет чуть больше информации, возможно мы сможем помочь куда лучше.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101