1

Тема: AHK: Нумерация в цикле

str =
(
<h1 class="
	<h2 class="
		<h3 class="
)

RegexReplace(str, "is)(<h1|<h2|<h3|<h4|<h5)",, headersCount) ;определить колич заголовков
loop, %headersCount%
{
   str := RegExReplace(str, "m`a)(<h1|<h2|<h3|<h4|<h5)", "<a name=""" A_Index """></a>$1")
}
MsgBox % str

Как произвести разовую обработку в каждой строке, с назначением возрастающей нумерации, чтобы получилось, как ниже? —


<a name="1"></a><h1 class="
	<a name="2"></a><h2 class="
		<a name="3"></a><h3 class="

2

Re: AHK: Нумерация в цикле

str =
(
<h1 class="
   <h2 class="
      <h3 class="
)
MsgBox, % RegExReplace(str, "<h(\d+)\s+class=", "<a name=""$1""></a>$0")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg
+ DD

3

Re: AHK: Нумерация в цикле

А как сделать, чтобы нумерация не повторялась для одинаковых тегов?

str =
(
<h1 class="">
   <h2 class="">
      <h3 class="">
<h2 id="1">
<h2 id="2">
)
str := RegExReplace(str, "i)<h(\d+)[^>]*>", "<a name=""$1""></a>$0")
MsgBox % str

4

Re: AHK: Нумерация в цикле

str =
(
<h1 class="">
   <h2 class="">
      <h3 class="">
<h2 id="1">
<h2 id="2">
)
match := ""
while RegExMatch(str, "iO)<h\d+", match, match ? match.Pos + match.Len + 14 : 1)
   str := RegExReplace(str, match[0], "<a name=""" . A_Index . """></a>" . match[0],, 1, match.Pos)
MsgBox % str 
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg
+ DD