<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12175&amp;type=atom" />
	<updated>2016-11-27T19:47:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12175</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109439#p109439" />
			<content type="html"><![CDATA[<p>Тогда наверное так:<br /></p><div class="codebox"><pre><code>Haystack = 
(
русско-английский словарь
)
 
RegExMatch(Haystack, &quot;Oi)(*UCP)((?:\w|-)*?рус(?:\w|-)*)&quot;, words)

MsgBox % words[1] &quot;`n&quot; words.Count() </code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-27T19:47:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109439#p109439</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109437#p109437" />
			<content type="html"><![CDATA[<p>Я имею в виду вот что:<br /></p><div class="codebox"><pre><code>Haystack = 
(
русско-английский словарь
)

RegExMatch(Haystack, &quot;Oi)(*UCP)\b(\w*?рус\w*)\b&quot;, words)

MsgBox % words[1] &quot;`n&quot; words.Count()</code></pre></div><p>Слово &quot;русско-английский&quot; разбивается.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-27T19:43:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109437#p109437</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109432#p109432" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Haystack = 
(
английский iрусско-английскийi русско английский
)

RegExMatch(Haystack, &quot;Oi)(*UCP)\b(\w*?русско-английский\w*)\b&quot;, words)

MsgBox % words[1] &quot;`n&quot; words.Count()</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-27T19:36:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109432#p109432</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109429#p109429" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Вроде находит.</p></blockquote></div><p>Находит только одну часть слова.<br />Попробуй со словом - &quot;русско-английский&quot;.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-27T19:33:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109429#p109429</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109397#p109397" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Кстати, вот так можно как бы за раз:</p></blockquote></div><p>CallOut по сути тот же цикл.</p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p><strong>teadrinker</strong>, <strong>serzh82saratov</strong>, в ваших кодах не учтены слова пишущиеся через дефис.</p></blockquote></div><p>Вроде находит.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-27T06:40:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109397#p109397</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109381#p109381" />
			<content type="html"><![CDATA[<p>Кстати, вот так можно как бы за раз:<br /></p><div class="codebox"><pre><code>book = 
(
В переменной book сохранен большой русско-английский текст. Я хочу из всего текста вычленить только слова, в которых содержится сочетание &quot;рус&quot; (Русь, русский, белорус, брусок, русалка, и т.д.). И каждое из этих слов сохранялось в массив words, с растущим индексом по порядку поиска ( words[0] = Русь; words[1] = русский и т.д. )
Слова с совпадением должны сохраняться целиком (целое слово, с границами по бокам).
)
words := []
RegExReplace(book, &quot;i)[-а-я]*рус[-а-я]*(?Cf)&quot;)

; проверка
for k, v in words
   MsgBox, % k &quot;: &quot; v

f(m)  {
   global words
   words.Push(m)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-26T17:40:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109381#p109381</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109380#p109380" />
			<content type="html"><![CDATA[<p>Да, можно добавить:<br /></p><div class="codebox"><pre><code>book =
(
В переменной book сохранен большой русско-английский текст. Я хочу из всего текста вычленить только слова, в которых содержится сочетание &quot;рус&quot; (Русь, русский, белорус, брусок, русалка, и т.д.). И каждое из этих слов сохранялось в массив words, с растущим индексом по порядку поиска ( words[0] = Русь; words[1] = русский и т.д. )
Слова с совпадением должны сохраняться целиком (целое слово, с границами по бокам).
)

words := []
while RegExMatch(book, &quot;iO)[-а-я]*рус[-а-я]*&quot;, match, A_Index = 1 ? 1 : match.Pos(0) + match.Len(0))
   words.Push(match[0])

; проверка
for k, v in words
   MsgBox, % k &quot;: &quot; v</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-26T17:12:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109380#p109380</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109377#p109377" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, <strong>serzh82saratov</strong>, в ваших кодах не учтены слова пишущиеся через дефис.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-26T16:33:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109377#p109377</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109376#p109376" />
			<content type="html"><![CDATA[<p>Я тоже время от времени думаю, как можно было бы все слова, подпадающие под шаблон, за раз выбрать. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-26T16:18:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109376#p109376</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109375#p109375" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Haystack = 
(
Я хочу из всего текста вычленить только слова, в которых содержится сочетание &quot;рус&quot; (, русский, белорус, брусок, русалка, и т.д.).
)

MsgBox % RegExReplace(Haystack, &quot;Oi)(*UCP)\b(\w*?рус\w*)\b&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-26T16:13:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109375#p109375</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109374#p109374" />
			<content type="html"><![CDATA[<p>Да забываю, подумал по аналогии с RegExReplace, если он все заменяет, то Match все находить должен.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-26T16:12:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109374#p109374</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109373#p109373" />
			<content type="html"><![CDATA[<p>Один подшаблон выделен — одно совпадение.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-26T16:06:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109373#p109373</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109372#p109372" />
			<content type="html"><![CDATA[<p>Мне вот интересно почему только одно совпадение:<br /></p><div class="codebox"><pre><code>Haystack = 
(
Я хочу из всего текста вычленить только слова, в которых содержится сочетание &quot;рус&quot; (, русский, белорус, брусок, русалка, и т.д.).
)

RegExMatch(Haystack, &quot;Oi)(*UCP)\b(\w*?рус\w*)\b&quot;, words)

MsgBox % words[1] &quot;`n&quot; words.Count()</code></pre></div><div class="quotebox"><blockquote><p>В круглые скобки заключают группы элементов, чтобы:<br />***<br />Например, функция RegExMatch() в своем выходном массиве может сохранить соответствия всех выделенных подшаблонов</p></blockquote></div><div class="quotebox"><blockquote><p>Если NeedleRegEx содержит захватывающие подшаблоны, их совпадения сохраняются в массиве, чьё базовое имя то же, что и у OutputVar. Например, если её имя Match, подстрока, найденная первым подшаблоном, сохранится в переменную Match1, вторым - в Match2 и т.д.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-26T16:04:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109372#p109372</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109371#p109371" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>text =
(
В переменной book сохранен большой текст. Я хочу из всего текста вычленить только слова, в которых содержится сочетание &quot;рус&quot; (Русь, русский, белорус, брусок, русалка, и т.д.). И каждое из этих слов сохранялось в массив words, с растущим индексом по порядку поиска ( words[0] = Русь; words[1] = русский и т.д. )
Слова с совпадением должны сохраняться целиком (целое слово, с границами по бокам).
)

words := []
while RegExMatch(text, &quot;iO)[а-я]*рус[а-я]*&quot;, match, A_Index = 1 ? 1 : match.Pos(0) + match.Len(0))
   words.Push(match[0])

; проверка
for k, v in words
   MsgBox, % k &quot;: &quot; v</code></pre></div><div class="quotebox"><cite>Akatosh пишет:</cite><blockquote><p>words[0] = Русь</p></blockquote></div><p>Индексы массивов в AHK начинаются с единицы.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-26T15:58:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109371#p109371</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: RegExMatch - сохранение целого слово с совпадением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109368#p109368" />
			<content type="html"><![CDATA[<p>В переменной <span style="color: red">book</span> сохранен большой текст. Я хочу из всего текста вычленить только слова, в которых содержится сочетание &quot;<span style="color: blue">рус</span>&quot; (Русь, русский, белорус, брусок, русалка, и т.д.). И каждое из этих слов сохранялось в массив <span style="color: red">words</span>, с растущим индексом по порядку поиска ( words[0] = Русь; words[1] = русский и т.д. )<br />Слова с совпадением должны сохраняться <span class="bbu">целиком</span> (целое слово, с границами по бокам).</p><p>P.S. Все названия случайны и созданы только для примера)</p>]]></content>
			<author>
				<name><![CDATA[Akatosh]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34027</uri>
			</author>
			<updated>2016-11-26T08:30:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109368#p109368</id>
		</entry>
</feed>
