<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JS: Как передать в регулярное выражение переменную.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=13349</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13349&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JS: Как передать в регулярное выражение переменную.».]]></description>
		<lastBuildDate>Fri, 05 Jan 2018 20:56:37 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122776#p122776</link>
			<description><![CDATA[<p><strong>wisgest</strong>,&nbsp; понял. Благодарю за разъяснение. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Видимо <span class="bbu">пятый</span> день нового года сказывается.</p><p><strong>im2002</strong>, к сожалению без целикового кода мне сложно судить. Поэтому я и попросил пояснения входных и желаемых выходных данных. Если код на столько большой, может стоить поделить его на функции, тогда будет понятно, что в функцию передалось и что из неё должно вернуться ?</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Fri, 05 Jan 2018 20:56:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122776#p122776</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122771#p122771</link>
			<description><![CDATA[<div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p><strong>im2002</strong>, <br />1) Для JS не обязательно создавать объект <strong>new RegExp</strong>. Поддержка регулярок в нём нативная.<br /></p><div class="codebox"><pre><code>
var r = /192.168.0.\d{1,3}/g;</code></pre></div></blockquote></div><p><em>RegExp</em> — как раз родной конструктор регулярных выражений в JS. То, что ты предлагаешь — статический литерал рег. выражения, а требуется его создавать динамически (нет, ну можно было бы использовать <em>eval()</em>…).</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Fri, 05 Jan 2018 14:58:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122771#p122771</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122770#p122770</link>
			<description><![CDATA[<div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p><strong>im2002</strong>, <br />2) Перечитал Ваш последний пост несколько раз, но так и не понял, что в итоге нужно. Поясните пожалуйста примером исходных данных и результатов, что хотите получать и из чего.</p></blockquote></div><p>Нужно передать в регулярное выражение переменную. Т.е. если у меня переменная net определена как <br /></p><div class="codebox"><pre><code>var net = &quot;192.168.0.&quot;;</code></pre></div><p>то в дальнейшем в скрипте рег. выражение принимало значение: /192.168.0.\d{1,3}/g и я не лазил по скрипту и вручную не менял его во всех местах где оно встречается...<br />Чтобы часть &quot;192.168.0.&quot; попадала в регулярку из переменной net.<br /><strong>YMP</strong> мне подсказал, вроде всё работало, но когда стал применять, то увидел нестыковку, о чём написал в третьем посте...<br />Я бы весь сценарий выложил конечно, но он длинный, никто разбирать и тем более проверять не будет, хотя бы потому что нужна сеть...<br />Описал в точности то, с чем столкнулся.</p>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Fri, 05 Jan 2018 11:25:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122770#p122770</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122769#p122769</link>
			<description><![CDATA[<p><strong>im2002</strong>, <br />1) Для JS не обязательно создавать объект <strong>new RegExp</strong>. Поддержка регулярок в нём нативная.<br /></p><div class="codebox"><pre><code>
var r = /192.168.0.\d{1,3}/g;

WScript.Echo(r.test(&#039;192.168.0.1&#039;));
WScript.Echo(r.test(&#039;192.168.0.2555&#039;));

WScript.Echo(&#039;192.168.0.1&#039;.match(r));
WScript.Echo(&#039;192.168.0.2555&#039;.match(r));
</code></pre></div><p>2) Перечитал Ваш последний пост несколько раз, но так и не понял, что в итоге нужно. Поясните пожалуйста примером исходных данных и результатов, что хотите получать и из чего.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Fri, 05 Jan 2018 10:59:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122769#p122769</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122768#p122768</link>
			<description><![CDATA[<p><strong>Rumata</strong><br />так получаю $ip:<br /></p><div class="codebox"><pre><code>var $ip = en.item().IPAddress.toArray().join(&quot;; &quot;);</code></pre></div><p>Если отобразить переменную $ip, то будет примерно вот такая строка: &quot;192.168.0.25; 192.168.1.25; 192.168.2.25&quot;, т.к. на адаптере прописано несколько IP-адресов. <br />С помощью регулярок хотел фильтровать данную строку. Передавать значение в рег. выражение при помощи переменной хотел, чтобы скрипт был &quot;универсальным&quot;, <br />т.е. изменил значение подсети в начале скрипта и более нигде не смотрю, дальше (в рег. выражениях) меняется автоматом.</p>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Fri, 05 Jan 2018 10:48:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122768#p122768</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122767#p122767</link>
			<description><![CDATA[<p>Регулярные выражения работают со строкой, а не с массивом строк. Возможно, что </p><div class="quotebox"><blockquote><p>массив ip-адресов полученный с адаптера</p></blockquote></div><p>, на самом деле объект JScript (коллекция или что-то еще), но совсем не массив.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Fri, 05 Jan 2018 09:53:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122767#p122767</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122766#p122766</link>
			<description><![CDATA[<p>Ещё небольшое добавление.&nbsp; Когда исп. регулярку в виде:<br /></p><div class="codebox"><pre><code> var strMask = &quot;192.168.0.&quot;, objReg = new RegExp(strMask + &quot;\\d{1,3}&quot;, &quot;g&quot;);</code></pre></div><p>то скрипт не отрабатывал некоторые адреса, т.е. такой код:&nbsp; <br /></p><div class="codebox"><pre><code>if(objReg.test($ip) == true)</code></pre></div><p>возвращал как бы false(?!), где $ip - это массив ip-адресов полученный с адаптера. Но такой результат никак невозможен. <br />При этом если регулярка была в виде: <br /></p><div class="codebox"><pre><code>if(/192.168.0.\d{1,3}/g.test($ip) == true)</code></pre></div><p>то всё отрабатывало нормально. Добавил для промежуточного просмотра строки: <br /></p><div class="codebox"><pre><code>WScript.Echo(&quot;Массив ip-адресов: &quot; + $ip);
if(objReg.test($ip) == true)
WScript.Echo(&quot;успешно прошла проверка массива ip-адресов&quot;);	</code></pre></div><p>и всё стало работать правильно. Так и не понял... такое впечатление, что скрипт не ожидая отработки предыдущей команды переходил к последующей.<br />Как такое возможно?!</p>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Fri, 05 Jan 2018 08:21:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122766#p122766</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122757#p122757</link>
			<description><![CDATA[<p><strong>YMP</strong><br />спасибо, работает. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Thu, 04 Jan 2018 17:00:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122757#p122757</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122750#p122750</link>
			<description><![CDATA[<p>Наверно, так (но не проверял):<br /></p><div class="codebox"><pre><code>
var strMask = &quot;192.168.0.&quot;;
var objReg = new RegExp(strMask + &quot;\\d{1,3}&quot;, &quot;g&quot;);
var ipArr = ip.match(objReg);
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Thu, 04 Jan 2018 11:08:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122750#p122750</guid>
		</item>
		<item>
			<title><![CDATA[JS: Как передать в регулярное выражение переменную.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=122749#p122749</link>
			<description><![CDATA[<p>необходимо примерно такое:<br /></p><div class="codebox"><pre><code>var ipArr = ip.match(/192.168.0.\d{1,3}/g);</code></pre></div><p>вопрос: каким образом записать часть или всё рег. выражение в виде переменной, чтобы впоследствии подставить в метод match?<br />неработающий пример:<br /></p><div class="codebox"><pre><code>var strMask = &quot;192.168.0.&quot;;
var strReg = &quot;/&quot; + strMask + &quot;\\d{1,3}/g&quot;;
var ipArr = ip.match(strReg);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Thu, 04 Jan 2018 10:53:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=122749#p122749</guid>
		</item>
	</channel>
</rss>
