<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Найти значение из функции через RegExMatch]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11315&amp;type=atom" />
	<updated>2016-02-25T12:49:07Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11315</id>
		<entry>
			<title type="html"><![CDATA[Re: Найти значение из функции через RegExMatch]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101411#p101411" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>chatlog =
(
[10:31:03] [311] Evgenii_Simak  ранг: 2
[10:31:03] [315] Nikita_Volya  ранг: 5
[10:31:03] [333] Niko_Anjello  ранг: 4
)
rang:=&quot;Evgenii_Simak&quot;
Regexmatch(chatlog, &quot;[^\n\r]*&quot; rang &quot;[^\n\r]*&quot;, nashlo)
msgbox % nashlo</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-02-25T12:49:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101411#p101411</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Найти значение из функции через RegExMatch]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101406#p101406" />
			<content type="html"><![CDATA[<p>Распишу немного по другому.<br /></p><div class="codebox"><pre><code>F1::
chatlog =
(
[10:31:03] [311] Evgenii_Simak  ранг: 2
[10:31:03] [315] Nikita_Volya  ранг: 5
[10:31:03] [333] Niko_Anjello  ранг: 4
)
rang:=&quot;Evgenii_Simak&quot;
Regexmatch(chatlog, &quot;\[.*\] \[.*\] %rang% ранг:.*&quot;, nashlo)</code></pre></div><p>Зная шаблон строки, и её часть(но в переменной) надо найти эту строку.<br />То есть, после этого RegExMatch`a на выходе мне надо иметь эту строку:<br />[10:31:03] [311] Evgenii_Simak  ранг: 2<br />Только вот как поместить переменную в шаблон?<br />Знаю как никнейм так и ID(0-999), может по цифрам легче будет <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Nazob]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33653</uri>
			</author>
			<updated>2016-02-25T11:12:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101406#p101406</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Найти значение из функции через RegExMatch]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101376#p101376" />
			<content type="html"><![CDATA[<p>В patern указывается RegEx шаблон строки без времени в квадратных скобках.<br />С помощью loop&#039;а находит последний подходящий результат.<br /></p><div class="codebox"><pre><code>tipochatlog = 
(
[10:03:04]  [R] Мл.Сержант  Samoed_Don:  10-14 Pavel Egorov и Andre Lincoln в КПЗ ЛСПД
[10:03:16]  SFPD Лейтенант Ivan_Pupkin: 10-14 Pavel Egorov - СИЗО LSPD!
[10:10:12]  Объявление: Куплю чай. Прислал: Alberto_Ricki. Тел: 171317
[10:10:12]         Отредактировал сотрудник SF News: Sigizmunz_Batsifalof
)

patern := &quot;\[R\] .+ \w+_\w+:\s+\d+-\d+ .+&quot;

loop
  found := finded
  , pos := RegExMatch(tipochatlog,&quot;UO)(\[(?:\d\d:{0,1})+]\s+(&quot; patern &quot;))(?:`n|$)&quot;
  , finded,(A_Index=1)?(pos:=1):pos) + StrLen(finded.1)
Until !finded.1

msgbox % found.2</code></pre></div><br /><p>Пользовательский шаблон(то что в переменной patern) Можно прочесть так:<br /></p><div class="quotebox"><blockquote><p><span class="bbu"><strong><span style="color: red">\[R\]</span> <span style="color: cyan">.+ \w+_\w+:</span>\s+<span style="color: blue">\d+-\d+ </span>.+</strong></span></p></blockquote></div><p><span style="color: red">Начало строки начинается с [R]</span>. <span class="bbu"><em>пробел.</em></span> <span style="color: cyan">Затем указываем что идет неизвестное количество символов и даже пробелы</span>(это звание, так как как оно может указываться либо одним либо нескольким словами)<span style="color: cyan">, после звания должны быть еще два слова на латинице</span>(это имя фамилия). Дальше указываем что идет неизвестное количество пробельных символов. <span style="color: blue">Затем цифры через тире формата 00-00 и пробел.</span>&nbsp; Дальше может быть любой текст.</p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-02-23T18:31:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101376#p101376</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Найти значение из функции через RegExMatch]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101022#p101022" />
			<content type="html"><![CDATA[<p>Не помогло. Выдаёт только саму переменную, а надо всю строку.</p>]]></content>
			<author>
				<name><![CDATA[Nazob]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33653</uri>
			</author>
			<updated>2016-02-11T16:57:28Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101022#p101022</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Найти значение из функции через RegExMatch]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101014#p101014" />
			<content type="html"><![CDATA[<p>Это не функция, это переменная.<br /></p><div class="codebox"><pre><code>obr:=&quot;Samoed_Don&quot; ; или obr=Samoed_Don
RegExMatch(tipochatlog, obr, nashlo)      
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2016-02-11T11:15:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101014#p101014</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Найти значение из функции через RegExMatch]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101009#p101009" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>
    !1::
tipochatlog = 
(
[10:03:04]  [R] Мл.Сержант  Samoed_Don:  10-14 Pavel Egorov и Andre Lincoln в КПЗ ЛСПД
[10:03:16]  SFPD Лейтенант Ivan_Pupkin: 10-14 Pavel Egorov - СИЗО LSPD!
[10:10:12]  Объявление: Куплю чай. Прислал: Alberto_Ricki. Тел: 171317
[10:10:12]         Отредактировал сотрудник SF News: Sigizmunz_Batsifalof
)
obr:=Samoed_Don
RegExMatch(tipochatlog, &quot;?&quot;, nashlo)      
MsgBox, % nashlo1
return
</code></pre></div><p>Есть переменная (obr), её значение всегда меняется. Как её &quot;запихнуть&quot; в шаблон RegExMatch&#039;a?</p>]]></content>
			<author>
				<name><![CDATA[Nazob]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33653</uri>
			</author>
			<updated>2016-02-11T05:11:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101009#p101009</id>
		</entry>
</feed>
