<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Помогите построить регулярное выражение.]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8148&amp;type=atom" />
	<updated>2013-06-14T05:33:08Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8148</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72956#p72956" />
			<content type="html"><![CDATA[<p><strong>Real Root</strong><br /></p><div class="quotebox"><blockquote><p>находит строки в которых любойнабор_любойнабор.любойнабор(но не inf)</p></blockquote></div><div class="codebox"><pre><code>
&#039; в начале строки
&#039; хотя бы один символ - большая или маленькая латинская буква или цифра
&#039; символ &quot;подчеркивание&quot;
&#039; хотя бы один символ - большая или маленькая латинская буква или цифра
&#039; символ &quot;точка&quot;
&#039; что-то, но не &quot;inf&quot; (возможны &quot;Inf&quot;, &quot;INF&quot; и т.д., также возможно совпадение с пустой подстрокой)
Set re = new RegExp()
re.Pattern = &quot;^[a-zA-Z0-9]+_[a-zA-Z0-9]+\.(?!inf)&quot;

If Not re.Test(string) Then
    ...
End If
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2013-06-14T05:33:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72956#p72956</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72954#p72954" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Он находит строки в которых любойнабор_любойнабор.любойнабор(но не inf).</p></blockquote></div><p>Не совсем так.<br />В начале строки возможно произвольное число символов алфавита и цифр, затем подчёркивание, затем возможно произвольное число символов алфавита и цифр, точка, за которой не может следовать <span style="color: red">ни один из символов «i», «n», «f»</span> (а вовсе не сочетание «inf»:<br /></p><div class="codebox"><pre><code>With WScript.CreateObject(&quot;VBScript.RegExp&quot;)
    .Pattern = &quot;^[A-Za-z0-9]*_[A-Za-z0-9]*\.[^inf]&quot;
    
    WScript.Echo .Test(&quot;A_A.a&quot;)
    WScript.Echo .Test(&quot;A_A.in&quot;)
    WScript.Echo .Test(&quot;A_A.inf&quot;)
    WScript.Echo .Test(&quot;A_A.fni&quot;)
    WScript.Echo .Test(&quot;A_A.nfi&quot;)
End With
</code></pre></div><p>, используйте negative lookahead pattern — наподобие «^[A-Za-z0-9]+_[A-Za-z0-9]+\.<span style="color: red">(?!inf)</span>»). Ну, и ищет он не строки, а последовательность в строке.</p><p>Что мешает использовать банальное:<br /></p><div class="codebox"><pre><code>If Not objRegExp.Test(&quot;строка&quot;) Then
    …
End If</code></pre></div><p>?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-06-13T23:06:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72954#p72954</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=72949#p72949" />
			<content type="html"><![CDATA[<p>Товарищи, есть ли некий символ отрицания в regEx?<br />Мне вот что нужно:<br />Есть готовый регэксп: ^[A-Za-z0-9]*_[A-Za-z0-9]*\.[^inf]<br />Он находит строки в которых любойнабор_любойнабор.любойнабор(но не inf).<br />Так вот мне нужно сделать так чтобы искались все строки не удовлетворающие критерию. Т.е. грубо говоря инвертировать действие данного регэкспа.<br />Можно ли как-нибудь это сделать?</p>]]></content>
			<author>
				<name><![CDATA[Real Root]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28360</uri>
			</author>
			<updated>2013-06-13T19:15:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=72949#p72949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70269#p70269" />
			<content type="html"><![CDATA[<div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Читать файл Вы как читаете…</p></blockquote></div><p>Посмотрел и ужаснулся, что именно написал <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" />.</p></blockquote></div><p>Минус на минус дает плюс. Может быть по-другому бы и не понял бы <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" /></p></div></div>]]></content>
			<author>
				<name><![CDATA[Real Root]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28360</uri>
			</author>
			<updated>2013-03-13T19:47:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70269#p70269</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70263#p70263" />
			<content type="html"><![CDATA[<div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Читать файл Вы как читаете…</p></blockquote></div><p>Посмотрел и ужаснулся, что именно написал <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" />.</p></div></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-03-13T17:46:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70263#p70263</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70255#p70255" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Тут фигурная скобка не лишняя?<br /></p><div class="codebox"><pre><code>{xxxxxx{x-sdgsdfsdf-sdfsdf}\SomeText4</code></pre></div></blockquote></div><p>Нет, не лишняя. Должно взяться {x-sdgsdfsdf-sdfsdf}, а xxxxxx отброситься, поэтому в шаблоне есть [^{]</p><div class="quotebox"><blockquote><p>Внутри себя VBScript сугубо «юникоден». <strong>Читать файл Вы как читаете — указываете, что внутри юникод?</strong></p></blockquote></div><p>Спасибо за толчек <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Сам допетрил - читаю из реестра REGBINARY - там каждая буква отделена от соседней бинарным нулем. Этот момент я упустил из виду. Т.е. RegExp мне нужно было делать таким: &quot;\{[^\{]*?\}\\\x00a\x00b\x00r\x00a\x00c\x00a\x00d\x00a\x00b\x00r\x00a\x00&quot;</p><p>Без вас бы наверное не дотумкал <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Нужен был волшебный пендаль в нужное направление <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Real Root]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28360</uri>
			</author>
			<updated>2013-03-13T16:25:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70255#p70255</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70242#p70242" />
			<content type="html"><![CDATA[<p>Тут фигурная скобка не лишняя?<br /></p><div class="quotebox"><blockquote><div class="codebox"><pre><code>{xxxxxx{x-sdgsdfsdf-sdfsdf}\SomeText4</code></pre></div></blockquote></div><div class="quotebox"><blockquote><p>У меня тут у самого теория появилась - может проблема в кодировке? Там юникод, а VBScript в ANSI идет или еще как то так?</p></blockquote></div><p>Внутри себя VBScript сугубо «юникоден». Читать файл Вы как читаете — указываете, что внутри юникод?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-03-13T13:39:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70242#p70242</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70240#p70240" />
			<content type="html"><![CDATA[<p>У меня тут у самого теория появилась - может проблема в кодировке? Там юникод, а VBScript в ANSI идет или еще как то так?</p>]]></content>
			<author>
				<name><![CDATA[Real Root]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28360</uri>
			</author>
			<updated>2013-03-13T12:52:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70240#p70240</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: Помогите построить регулярное выражение.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70238#p70238" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Уже почти сутки бьюсь и никак не могу понять как сделать следующее:<br />Есть файл с кучей записей вида:<br />{fsdgfdfg-sdgsdfsdf-sdfsdf}\SomeText1<br />{pfpgpfgf-sdgsdfsdf-sdfsdf}\SomeText2<br />{zzzzzzzz-sdgsdfsdf-sdfsdf}\SomeText3<br />{xxxxxx{x-sdgsdfsdf-sdfsdf}\SomeText4<br />{fsdgfdfg-sdgsdfsdf-sdfsdf}\abracadabra<br />Нужно менять то что указано в скобках на свое значение, НО только в случае, если после слеша идет abracadabra</p><p>Я делаю такой регэксп: &quot;\{[^\{]*?\}&quot; - он прекрасно ищет {любая_строка}.<br />Но мне нужно с abracadabra на конце.<br />Пробую так: &quot;\{[^\{]*?\}\\abracadabra&quot; или так: &quot;\{[^\{]*?\\abracadabra&quot; - не находит ни в какую! Ошибок не дает, просто не делает замены.</p><p>P.S&gt; RegEx нужен для использования в VBScript.</p>]]></content>
			<author>
				<name><![CDATA[Real Root]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28360</uri>
			</author>
			<updated>2013-03-13T12:00:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70238#p70238</id>
		</entry>
</feed>
