1

Тема: AHK: Regex

Добрый день! Подскажите пож-та, возможно ли сделать одно регулярное выражение для всех случаев? На данный момент получается только по отдельности для каждого случая.
Чтобы получить "Менжинского, Липовый парк, Цветочная, Вторая Пятилетка, Калитниковская, Новоясеневский, Дачная,Варшавское, Энтузиастов "

name:= ["Менжинского ул.,д.30,кор.,кв." , "п. Коммунарка, ул. Липовый парк,д.5А,кор.,кв." , "г.Орехово-Зуево, 43433, Цветочная ул.,д.3", "г.Зеленоград. Вторая Пятилетка ул. (Крюково),д.18А,кор.,кв.", "Калитниковская Ср. ул.,д.22,кор.с1,кв." , "Новоясеневский просп.,д.38,кор.2,кв.", "дп Кокошкино, ул. Дачная,д.3А,кор.,кв.", "Варшавское шоссе,д.143,кор.6,кв." , "Шоссе Энтузиастов,д.13,кор.5,кв."]

for k, v in name
{
  MsgBox % RegExReplace(v, ".............")
}
return

2

Re: AHK: Regex

Слишком мало информации. Дайте строку для обработки и напишите что должно получится в итоге.

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

3

Re: AHK: Regex

__Михаил__


text {
Менжинского ул.,д.30,кор.,кв.
п. Коммунарка, ул. Липовый парк,д.5А,кор.,кв.
г.Орехово-Зуево, 43433, Цветочная ул.,д.3
г.Зеленоград. Вторая Пятилетка ул. (Крюково),д.18А,кор.,кв.
Калитниковская Ср. ул.,д.22,кор.с1,кв.
Новоясеневский просп.,д.38,кор.2,кв.
дп Кокошкино, ул. Дачная,д.3А,кор.,кв.
Варшавское шоссе,д.143,кор.6,кв.
Шоссе Энтузиастов,д.13,кор.5,кв.
}

text1 {
Менжинского
Липовый парк
Цветочная
Вторая Пятилетка
Калитниковская
Новоясеневский
Дачная
Варшавское
Энтузиастов
}

4

Re: AHK: Regex

1) Нужно строку сначала разбить на участки (от начала до ближайшей запятой, от запятой до следующей запятой, от запятой до конца строки).
2) Определить за что отвечает данный участок. Содержащий строки типа "шоссе", "ул.", "просп." - одного типа, "г." и "п." - другого типа и т. д.