<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Помогите разобраться с регулярным выражением.]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7640&amp;type=atom" />
	<updated>2012-09-29T14:15:50Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7640</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64369#p64369" />
			<content type="html"><![CDATA[<p>Не могу не добавить (т.е. убавить) к примеру, который предложил <strong>Александр_</strong> <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />(Не особо оно там и надо, но... )<br /></p><div class="codebox"><pre><code>str := &quot;ааа76аааббббпппп74ава72вава&quot;
while(r := RegExMatch(str, &quot;\d+&quot;, s , r ? r+StrLen(s) : 1))
   MsgBox %s%</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-09-29T14:15:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64369#p64369</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64357#p64357" />
			<content type="html"><![CDATA[<p>Спасибо, доступно объяснили. Я всё понял, что мне надо было. Респект и уважуха этому форуму ;-)</p>]]></content>
			<author>
				<name><![CDATA[hydralisk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27459</uri>
			</author>
			<updated>2012-09-29T09:59:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64357#p64357</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64354#p64354" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>hydralisk пишет:</cite><blockquote><p>У меня родился такой вариант: <br />1. Запускаем цикл <br />2. Ищем первое вхождение.<br />3. Если найдено, то следующая итерация.<br />4. В следующей итерации ищем вхождение в первичной строке, но начинаем с позиции уже где уже нашли вхождение. <br />5. Если ничего не найдено - завершаем цикл.</p><p>Так будет правильно? Есть другие варианты?</p></blockquote></div><p>Правильно:<br /></p><div class="codebox"><pre><code>str := &quot;ааа76аааббббпппп74ава72вава&quot;
r := RegExMatch(str, &quot;\d+&quot;, s)
while(r)
{
   MsgBox %s%
   r := RegExMatch(str, &quot;\d+&quot;, s, r+StrLen(s))
}</code></pre></div><p>или так:<br /></p><div class="codebox"><pre><code>str := &quot;ааа76аааббббпппп74ава72вава&quot;
r := RegExMatch(str, &quot;P)\d+&quot;, s)
while(r)
{
   MsgBox % SubStr(str, r, s)
   r := RegExMatch(str, &quot;P)\d+&quot;, s, r+s)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-09-29T09:08:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64354#p64354</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64352#p64352" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>str := &quot;123qwe234wer456ter567asd768&quot;

varIndex := 1
isPriorLoopFieldIsNumber := false

loop, Parse, str
{
    if A_LoopField is Number
        var%varIndex% .= A_LoopField, isPriorLoopFieldIsNumber := true
    else if (isPriorLoopFieldIsNumber = true)
        varIndex += 1, isPriorLoopFieldIsNumber := false
    else isPriorLoopFieldIsNumber := false
}

loop %varIndex%
    out .= var%A_Index% &quot;`n&quot;

MsgBox % out</code></pre></div>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-09-29T09:00:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64352#p64352</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64351#p64351" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>RegExMatch(&quot;ааа76аааббббпппп74ава72вава&quot;, &quot;(\d+)\D+(\d+)\D+(\d+)&quot;, s)
msgbox %s1% - %s2% -  %s3%</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-09-29T08:42:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64351#p64351</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64350#p64350" />
			<content type="html"><![CDATA[<p>Еще пробовал такой код:<br /></p><div class="codebox"><pre><code>RegExMatch(&quot;ааа76аааббббпппп74ава72вава&quot;, &quot;(\d+)(\d+)&quot;, s)
msgbox %s1% - %s2% -  %s3%</code></pre></div><p>Тогда скрипт вообще ничего не находит. <br />P.S. Сейчас дошло. может между скобками нужно поставить *<br />Домой приеду - проверю. Под рукой машины нет.</p>]]></content>
			<author>
				<name><![CDATA[hydralisk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27459</uri>
			</author>
			<updated>2012-09-29T07:24:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64350#p64350</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64349#p64349" />
			<content type="html"><![CDATA[<p>У меня родился такой вариант: <br />1. Запускаем цикл <br />2. Ищем первое вхождение.<br />3. Если найдено, то следующая итерация.<br />4. В следующей итерации ищем вхождение в первичной строке, но начинаем с позиции уже где уже нашли вхождение. <br />5. Если ничего не найдено - завершаем цикл.</p><p>Так будет правильно? Есть другие варианты?</p>]]></content>
			<author>
				<name><![CDATA[hydralisk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27459</uri>
			</author>
			<updated>2012-09-29T07:18:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64349#p64349</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64346#p64346" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>RegExMatch за один вызов выполняет только один поиск, если нужно несколько, то нужно вызывать её в цикле.</p></blockquote></div><p>Подскажите как мне организовать цикл, чтобы в тексте регулярными выражениями перебрать все последовательности цифр.<br />Как доработать этот код (приведенный ниже) чтобы он нашел сначала 76, потом 74, а потом 72?<br /></p><div class="codebox"><pre><code>RegExMatch(&quot;ааа76аааббббпппп74ава72вава&quot;, &quot;(\d+)&quot;, s)
msgbox %s1% - %s2% -  %s3%</code></pre></div>]]></content>
			<author>
				<name><![CDATA[hydralisk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27459</uri>
			</author>
			<updated>2012-09-29T04:22:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64346#p64346</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64343#p64343" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>hydralisk пишет:</cite><blockquote><p>В справке написано, что все совпадения записываются в массив.</p></blockquote></div><p>Там написано, что все неименованные подшаблоны записываются таким образом. RegExMatch за один вызов выполняет только один поиск, если нужно несколько, то нужно вызывать её в цикле.<br />Да и название темы исправь, <a href="http://forum.script-coding.com/viewtopic.php?id=6148">см. правила</a>.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-09-28T21:29:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64343#p64343</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Помогите разобраться с регулярным выражением.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=64342#p64342" />
			<content type="html"><![CDATA[<p>Добрый день всем!<br />Для познания азов регэксп написал такой скрипт:<br /></p><div class="codebox"><pre><code>RegExMatch(&quot;уа76фывафывацу76фавфв&quot;, &quot;(\d+)&quot;, s)
msgbox %s1% - %s2% -  %s3%</code></pre></div><p>И не могу понять почему у меня записывается найденное значение только в s1. <br />В s1 записано 76, а в s2 и s3 ничегошеньки нет.<br />В справке написано, что все совпадения записываются в массив. </p><p>Пробовал такой вариант:<br /></p><div class="codebox"><pre><code>RegExMatch(&quot;уа76фывафывацу76фавфв&quot;, &quot;(76)&quot;, s)
msgbox %s1% - %s2% -  %s3%</code></pre></div><p>И тоже самое. Подскажите что я неправильно делаю. <img src="//forum.script-coding.com/img/smilies/neutral.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[hydralisk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27459</uri>
			</author>
			<updated>2012-09-28T19:59:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=64342#p64342</id>
		</entry>
</feed>
