<?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=13388&amp;type=atom" />
	<updated>2018-01-20T16:51:59Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=13388</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123243#p123243" />
			<content type="html"><![CDATA[<p>Можно через <a href="https://github.com/hi5/TF#TF_Find">TF_Find</a> найти строку, но тут библиотека TF нужна.</p>]]></content>
			<author>
				<name><![CDATA[svoboden]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34280</uri>
			</author>
			<updated>2018-01-20T16:51:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123243#p123243</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123237#p123237" />
			<content type="html"><![CDATA[<p><strong>KusochekDobra</strong><br />Получилось через&nbsp; RegExMatch<br />Криво, но получилось.<br />Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[234783g]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39015</uri>
			</author>
			<updated>2018-01-20T15:21:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123237#p123237</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123236#p123236" />
			<content type="html"><![CDATA[<p>Регулярки довольно мощный инструмент. Но особо хорош он на больших массивах текста, в которых мало упорядоченности, а если читаешь свой лог-файл, в котором всегда определённое структурирование через весь контент, то можно обойтись любыми другими костылями, если решение нужно сейчас, а костыли понятнее. Именно это меня всегда и останавливало перед постижением &quot;RegExp&quot;. Проще разделить такой файл по глобальному признаку, а получившиеся части по меткам-разделителям и иметь весь распарсенный документ в массиве, потому как всё равно чаще оно нужно, чем НЕнужно.<br />Не хочу отбирать у Вас жажду познания этого, без сомнения превосходного инструмента, но приведу пример в аналогии с предыдущей темой:<br /></p><div class="codebox"><pre><code>
text := 
(LTrim Join`r`n
	&quot;планета 1, континент1, континент2
	KODстрана 1, город1, город2
	местность 1, поляна1, поляна2
	KODдеревня 1, улица1, улица2&quot;
)
target	:= &quot;KOD&quot;
sep		:= &quot;, &quot;
wordsArr := GetWords(text, target, sep)
Loop,% wordsArr.Length() 
	MsgBox,,Title,% A_Index &quot; найденный результат &lt;|==&gt;`n`n&quot; wordsArr[A_Index][1] &quot;`n&quot; wordsArr[A_Index][2] &quot;`n&quot; wordsArr[A_Index][3]

GetWords(text, target, separator) {
	result := [], partNumber := 2, parts := StrSplit(text, target)
	Loop,% parts.Length() - 1
		result.Push(StrSplit(StrSplit(parts[partNumber++], &quot;`r`n&quot;)[1], separator))
	return result
}
</code></pre></div><p>Здесь функция &quot;GetWords()&quot; принимает параметрами:<br />1 - переменную, в которой текст файла.<br />2 - глобальный признак, по которому нужно находить строки.<br />3 - разделитель, которым сепарируется строка на отдельные фрагменты.<br />Возвращает двумерный массив найденных результатов, в котором доступ к каждому слову в строке производится через указание двух индексов в квадратных скобках(wordsArr[1][2]), где первый индекс обозначает номер строки, а второй, номер слова.</p>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2018-01-20T14:53:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123236#p123236</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123235#p123235" />
			<content type="html"><![CDATA[<p>Пытаюсь научиться, но когда совсем не получается никак, то пишу сюда.<br />Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[234783g]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39015</uri>
			</author>
			<updated>2018-01-20T14:18:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123235#p123235</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123233#p123233" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>234783g пишет:</cite><blockquote><p>1</p></blockquote></div><p><strong>234783g</strong>, поверь на слово: проще выделить вечер-другой и разобраться в теме <a href="http://ahk-wiki.ru/regex">Регулярные выражения (RegEx) - краткий справочник</a>, чем по каждому вопросу рыться в поиске или создавать кучу тем (если, конечно, планируешь и дальше с AHK работать). Времени сэкономишь уйму. Сам таким был в свое время). Там ничего трудного нет.</p><p>А по теме: `r или `n в конце формулы.</p>]]></content>
			<author>
				<name><![CDATA[Stepnoy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38030</uri>
			</author>
			<updated>2018-01-20T13:21:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123233#p123233</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123232#p123232" />
			<content type="html"><![CDATA[<p>1</p>]]></content>
			<author>
				<name><![CDATA[234783g]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39015</uri>
			</author>
			<updated>2018-01-20T11:13:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123232#p123232</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123231#p123231" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Numpad0::
FileRead,list, %A_ScriptDir%\test.txt
Word = Slovo
Sleep 1000
RegExMatch(list, &quot;m`a)^.*\\*\Q&quot; word &quot;\E[^\\]*$&quot;, Match)
msgbox %Match%
return
</code></pre></div><p>txt файл<br /></p><div class="codebox"><pre><code>варпврпрпварпавправпрова
рправрпавырповаырпоаврпова
рпвоарпваырпаврпавырпавырповаъ
рварпврповапрапроврпаврпоавырав
Slovo оаворваорваораворлваорлорлав
рпвапрварпаврпоаврповарпварпрпвоарпова
врарварповарпоаврпоаврпрповрпав
рповрповарпварпварпаврварпваврп</code></pre></div><p>Мне нужно вывести только строку, содержащую &quot;Slovo&quot;, а у меня почему-то выводится весь текст файла после &quot;Slova&quot;<br />Хочу получить в переменную &quot;Slovo оаворваорваораворлваорлорлав&quot;, А получается &quot;Slovo оаворваорваораворлваорлорлав<br />рпвапрварпаврпоаврповарпварпрпвоарпова<br />врарварповарпоаврпоаврпрповрпав<br />рповрповарпварпварпаврварпваврп&quot;</p>]]></content>
			<author>
				<name><![CDATA[234783g]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39015</uri>
			</author>
			<updated>2018-01-20T11:07:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123231#p123231</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123229#p123229" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=12541">http://forum.script-coding.com/viewtopic.php?id=12541</a>.</p>]]></content>
			<author>
				<name><![CDATA[svoboden]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34280</uri>
			</author>
			<updated>2018-01-20T06:48:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123229#p123229</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Поиск в тексте.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123228#p123228" />
			<content type="html"><![CDATA[<p>Как можно найти строку и скопировать её в переменную, если не известен номер строки, но известны некоторые слова в строке.<br />Примерно так выглядит текст.<br /></p><div class="codebox"><pre><code>
лялялял
тополя
цвет [не постоянные символы]
тучки
</code></pre></div><p>Можно ли как -то по слову &quot;цвет&quot; найти и скопировать в переменную полностью строку.<br />Перепробовал много кодов, но так и не смог разобраться в RegExMatch.<br />Если можно напишите пример.</p>]]></content>
			<author>
				<name><![CDATA[234783g]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39015</uri>
			</author>
			<updated>2018-01-20T06:25:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123228#p123228</id>
		</entry>
</feed>
