<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: test() и exec() таки глючат или нет?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6872&amp;type=atom" />
	<updated>2012-06-22T11:55:40Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6872</id>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=61103#p61103" />
			<content type="html"><![CDATA[<p>Оказавшись в глубоком оффлайне сваял оффлайновый калькулятор. Горячие кнопы - Ctrl+i(g,m) - вкл/выкл i, g, m. Enter - посчитать. То же мышкой - клик на i, g, m; клик в поле Result. Резалтить можно многократно, пока не изменялся фокус (не кликалось в других полях). При запуске вставляет в поле String содержимое буфера. Чтобы строку руками не набирать. Делалось для себя на скорую руку. Форматирование страшненькое, поскольку работал на недобуке без мыша (экранчик маленький, а елозить по нему тачпадом - то ещё удовольствие).</p><div class="codebox"><pre><code>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
 &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
  &lt;title&gt;RegExp калькулятор&lt;/title&gt;
  &lt;meta http-equiv=&quot;MSThemeCompatible&quot; content=&quot;yes&quot; /&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=8&quot; /&gt;
  &lt;hta:application id=&quot;HTApp&quot; applicationName=&quot;ReXc-IXm&quot; border=&quot;dialog&quot;
   icon=&quot;%WinDir%\System32\calc.exe&quot; innerBorder=&quot;no&quot; scroll=&quot;no&quot; version=&quot;0.9&quot;/&gt;
  &lt;script type=&quot;text/jscript&quot; language=&quot;JScript&quot;&gt;
    self.resizeTo(640,480);
    self.moveTo(200,100);
  &lt;/script&gt;
  &lt;style type=&quot;text/css&quot;&gt;
   *{margin:0;overflow:hidden;padding:0;}
   fieldset{margin:0 6px;padding:2px 1%;white-space:nowrap;}
   legend{color:crimson;cursor:default;padding:0 6px;}
   p{color:navy;margin:3px;text-indent:3px;}
   select,#tv{color:maroon;width:75%;}
   textarea{border:none;font:normal 16px &#039;Times New Roman&#039;;overflow:auto;}
   .sq{color:maroon;font-weight:bold;}
   #bb{font:normal 18px Webdings;height:27px;
    margin-top:-9px;right:10px;width:25px;}
   #bb,#sa,#si,#st,#tv{position:absolute;}
   #be{cursor:default;height:8em;}
   #br{color:green;display:none;}
   #dg,#di,#dm{color:silver;cursor:hand;display:inline;
    font:bold 16px &#039;Courier New&#039;;}
   #dg,#di,#dm,#sx{vertical-align:top;}
   #ds{color:dimgray;margin-top:10px;text-indent:20px;}
   #sa{left:14em;}#si{left:21em;}
   #sr,#sx{font:normal 16px &#039;Courier New&#039;;min-width:0.3em;width:auto;}
   #sr,#sx,#ts{padding:0 2px;}#st,#tv{left:7em;}#si,#sx{color:blue;}
   #ts{color:navy;height:8em;width:100%;}#tv{height:4em;padding:0 4px;}
  &lt;/style&gt;
&lt;/head&gt;
&lt;body onload=&quot;sx.focus();&quot;&gt;
  &lt;fieldset onclick=&quot;sx.focus();&quot;&gt;
    &lt;legend&gt;regExp =&lt;/legend&gt;&lt;span class=&quot;sq&quot;&gt;/&lt;/span&gt;&lt;span id=&quot;sx&quot;
     onfocus=&quot;this.style.background=&#039;none&#039;;n=true;&quot; contentEditable&gt;&lt;/span&gt;&lt;span
      class=&quot;sq&quot;&gt;/&lt;/span&gt;
    &lt;div id=&quot;di&quot; onclick=&quot;fm(this);&quot;&gt;i&lt;/div&gt;&lt;div id=&quot;dg&quot;
     onclick=&quot;fm(this);&quot; style=&quot;margin-left:1px;&quot;&gt;g&lt;/div&gt;&lt;div id=&quot;dm&quot;
      onclick=&quot;fm(this);&quot; style=&quot;margin-left:3px;&quot;&gt;m&lt;/div&gt;&lt;button id=&quot;bb&quot;
       title=&quot;Копировать regExp в буфер&quot;
        onclick=&quot;window.clipboardData.setData(&#039;text&#039;,fr().toString());&quot;
         hideFocus&gt;¤&lt;/button&gt;
  &lt;/fieldset&gt;
  &lt;fieldset id=&quot;br&quot; onclick=&quot;sr.focus();&quot;&gt;&lt;legend&gt;Replace
   with:&lt;/legend&gt;&amp;emsp;&lt;span id=&quot;sr&quot; onfocus=&quot;n=true;&quot;
    contentEditable&gt;&lt;/span&gt;&lt;/fieldset&gt;
  &lt;fieldset onclick=&quot;ts.focus();&quot;&gt;&lt;legend&gt;String =&lt;/legend&gt;&lt;textarea id=&quot;ts&quot;
   onfocus=&quot;this.style.background=&#039;none&#039;;n=true;&quot;
    &gt;&lt;/textarea&gt;&lt;/fieldset&gt;
  &lt;div id=&quot;ds&quot;&gt;Method selection:&amp;emsp;
    &lt;select onchange=&quot;fs(this.value);n=true;&quot;&gt;
      &lt;optgroup label=&quot;&amp;emsp;RegExp Object Methods:&quot;&gt;
        &lt;option value=&quot;0&quot; &gt;&amp;emsp;Result =
         regExp.exec ( String ) ;&lt;/option&gt;
        &lt;option value=&quot;1&quot; &gt;&amp;emsp;Result =
         regExp.test ( String ) ;&lt;/option&gt;
      &lt;/optgroup&gt;
      &lt;optgroup label=&quot;&amp;emsp;String Object Methods:&quot;&gt;
        &lt;option value=&quot;2&quot; &gt;&amp;emsp;Result =
         String.match ( regExp ) ;&lt;/option&gt;
        &lt;option value=&quot;3&quot; &gt;&amp;emsp;Result =
         String.replace ( regExp, reWith ) ;&lt;/option&gt;
        &lt;option value=&quot;4&quot; &gt;&amp;emsp;Result =
         String.search ( regExp ) ;&lt;/option&gt;
        &lt;option value=&quot;5&quot; &gt;&amp;emsp;Result =
         String.split ( regExp ) ;&lt;/option&gt;
      &lt;/optgroup&gt;
    &lt;/select&gt;
  &lt;/div&gt;
  &lt;fieldset id=&quot;be&quot; onclick=&quot;fe();&quot;&gt;
    &lt;legend&gt;Result&lt;/legend&gt;
    &lt;p&gt;Result type:&lt;span id=&quot;st&quot;&gt;&lt;/span&gt;&lt;span id=&quot;sa&quot;&gt;lastIndex:&lt;/span&gt;&lt;span
     id=&quot;si&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr /&gt;
    &lt;p&gt;Result value:&lt;textarea id=&quot;tv&quot; readOnly&gt;&lt;/textarea&gt;&lt;/p&gt;
  &lt;/fieldset&gt;
&lt;/body&gt;
&lt;script type=&quot;text/jscript&quot; language=&quot;JScript&quot;&gt;
  var m=0,n=true,p,r,s;
  ts.innerText=window.clipboardData.getData(&#039;text&#039;);
  function fe(){
    if(n){
      st.style.color=&#039;blue&#039;;
      if(sx.innerText.replace(/\s/g,&#039;&#039;)==&#039;&#039;){
        sx.innerText=&#039;&#039;;sx.style.background=&#039;red&#039;;return;
      }
      r=fr();
      s=ts.innerText;
      n=false;
    }
    switch(m){
     case 0:p=r.exec(s);break;
     case 1:p=r.test(s);break;
     case 2:p=s.match(r);break;
     case 3:p=s.replace(r,sr.innerText);s=p;break;
     case 4:p=s.search(r);break;
     case 5:p=s.split(r);
    }
    try{
      st.innerText=typeof(p)==&#039;object&#039;?&#039;array (&#039;+p.length+&#039;)&#039;:typeof(p);
      si.innerText=r.lastIndex;
      tv.innerText=&#039;[&#039;+(typeof(p)==&#039;object&#039;?p.join(&#039;][&#039;):p)+&#039;]&#039;;
    }catch(e){st.style.color=&#039;crimson&#039;;st.innerText=&#039;Error!&#039;;tv.innerText=p;}
  }
  function fm(e){
    if(e.style.color==&#039;navy&#039;)e.style.color=&#039;silver&#039;;
    else e.style.color=&#039;navy&#039;;
  }
  function fr(){
    return(new RegExp(sx.innerText,(di.style.color==&#039;navy&#039;?&#039;i&#039;:&#039;&#039;)+
     (dg.style.color==&#039;navy&#039;?&#039;g&#039;:&#039;&#039;)+(dm.style.color==&#039;navy&#039;?&#039;m&#039;:&#039;&#039;)));
  }
  function fs(e){
    if(e==3)br.style.display=&#039;block&#039;;
    else br.style.display=&#039;none&#039;;
    m=~~e;
  }
  document.onkeydown=function(){
    if(event.keyCode==13){fe();return(false);}
    else if(event.ctrlKey){
      if(event.keyCode==73){fm(di);return(false);}
      if(event.keyCode==71){fm(dg);return(false);}
      if(event.keyCode==77){fm(dm);return(false);}
    }
  }
  document.body.onbeforepaste=function(){
    window.clipboardData.setData(
     &#039;text&#039;,window.clipboardData.getData(&#039;text&#039;).replace(
      /(&lt;\/?\w\d?[^&gt;]*&gt;)|\n|\r|\s+/g,&#039; &#039;
     )
    );
  }
&lt;/script&gt;
&lt;/html&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2012-06-22T11:55:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=61103#p61103</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58094#p58094" />
			<content type="html"><![CDATA[<p><strong>max7</strong><br />голосую за - <a href="http://code.google.com/p/jsxt/source/browse/trunk/js/RegExp.js">RegExp#forEach()</a>, но против - RegExp#reset(), так как не возможно учесть всех нюансов и возможных хотелок. Проще пересоздать регулярное выражение.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-03-20T06:30:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58094#p58094</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58091#p58091" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>RegExp.prototype.reset = function() 
{ 
    this.lastIndex = 0;
    return this;
};

RegExp.prototype.forEach = function(str, fun, scope) 
{ 
    this.reset();
    for(var res = null; (res = this.exec(str)) != null;)
       if(fun.apply(scope, res) === false)
          break;
    return this;
};</code></pre></div><p>Пример:<br /></p><div class="codebox"><pre><code>var my_str = &quot;abracadabra 123.123.123.123,456.456.456.456; vinipuxivsevsevse - 789.789.789.789|098.098.098.098 56.56.56.56 traxtibidoxtibidox&quot;;

var my_regexp = (/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/g);

my_regexp.forEach(my_str, function(str, first_parentheses)
{
   WScript.Echo(first_parentheses);
});</code></pre></div><p>Вывод соответственно:<br /></p><div class="codebox"><pre><code>123.123.123.123
456.456.456.456
789.789.789.789
098.098.098.098
56.56.56.56</code></pre></div>]]></content>
			<author>
				<name><![CDATA[max7]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=10498</uri>
			</author>
			<updated>2012-03-19T22:33:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58091#p58091</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57476#p57476" />
			<content type="html"><![CDATA[<p><strong>Rumata</strong>, я и говорю, на пустом месте сделали проблему.</p>]]></content>
			<author>
				<name><![CDATA[Любитель]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27037</uri>
			</author>
			<updated>2012-03-05T02:43:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57476#p57476</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57470#p57470" />
			<content type="html"><![CDATA[<p><strong>Любитель</strong>, не могу сказать - не сталкивался с такой задачей. Рассматривайте использование глобального флага в <strong>.test()</strong> как последствия синонимичности метода вызову метода <strong>.exec() != null</strong>.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-03-04T17:34:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57470#p57470</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57469#p57469" />
			<content type="html"><![CDATA[<p>Идея понятна, только где такое реально применить?<br />Не вижу области применения.</p>]]></content>
			<author>
				<name><![CDATA[Любитель]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27037</uri>
			</author>
			<updated>2012-03-04T17:30:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57469#p57469</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57468#p57468" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Любитель пишет:</cite><blockquote><p>мне не удалось придумать ни чего осмысленного</p></blockquote></div><p>Чтобы искать все соответствия шаблону. Например, так:<br /></p><div class="codebox"><pre><code>var s = &#039;1====2=======,==3,======4=5,=6=======,7=,8&#039;;
var re = /(\d+)/g;

while ( re.test(s) ) {
    alert(RegExp.$1);
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-03-04T17:17:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57468#p57468</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57466#p57466" />
			<content type="html"><![CDATA[<p>А мне кто нить скажет, зачем в test() использовать глобальный флаг? мне не удалось придумать ни чего осмысленного.</p>]]></content>
			<author>
				<name><![CDATA[Любитель]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27037</uri>
			</author>
			<updated>2012-03-04T17:05:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57466#p57466</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57442#p57442" />
			<content type="html"><![CDATA[<p>Хабр, конечно, хорошо, но <em>в целом</em> уровень статей там очень низкий. </p><div class="quotebox"><cite>DnsIs пишет:</cite><blockquote><p>убедитесь, что на 100% понимаете</p></blockquote></div><p>О да, согласен. Но все мы люди и совершать ошибки это наша багофича )</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-03-04T09:33:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57442#p57442</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57441#p57441" />
			<content type="html"><![CDATA[<p>Rumata, спасибо за краткую справку, но я хотел сказать, что многие как раз пробегутся то такой вот краткой справке и тонкостей не замечают. Ваше 7 сообщение как раз это и показывает.<br />Я кстати до прочтения хабро-темы, тоже особо не задумывался и не вникал о работе всех вышеописанных функций. Мне пока хватало пары из их. Но после этой ветки форума, я таки прочту более вдумчиво мануалы.</p><p>Мораль сей темы такова, прежде чем писать о багах, сначала убедитесь, что на 100% понимаете как оно работает там. 8)</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-03-04T06:48:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57441#p57441</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57424#p57424" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>DnsIs пишет:</cite><blockquote><p>суть javascript методов exec, search, test, match и точно знать чем они отличаются</p></blockquote></div><p>сопоставление строк заданному шаблону. Одни - методы экземпляров объекта RegExp, другие - String. Методов не так много. </p><p><strong>Обозначения</strong><br /></p><div class="quotebox"><blockquote><p>re - регулярное выражение<br />str - строка<br />r, m - результаты сопоставления</p></blockquote></div><p><strong>.match(), .exec()</strong><br /></p><div class="codebox"><pre><code>
m = str.match(re)
r = re.exec(str)</code></pre></div><p>Сопоставить и вернуть массив найденных подстрок или null в случае неудачи</p><p><strong>.test()</strong><br /></p><div class="codebox"><pre><code>
re.test(str)

// аналоги
re.exec(str) != null
str.match(re) != null</code></pre></div><p>Проверить на соответствие строки шаблону. Результат - true или false</p><p><strong>.search()</strong><br /></p><div class="codebox"><pre><code>
str.search(re)</code></pre></div><p>Проверить на соответствие строки шаблону и вернуть позицию первой найденной подстроки, или -1, если соответствий нет. </p><p><strong>Дополнительно</strong></p><div class="codebox"><pre><code>
str.replace(шаблон, замена)</code></pre></div><p>Метод поиска соответствия шаблону и замена найденной подстроки. В качестве шаблона может выступать как строка так и регулярное выражение. Замена - строка, или функция. </p><div class="codebox"><pre><code>
str.split(шаблон[, количество])</code></pre></div><p>Разбить строку на массив строк, используя в качестве разделителя шаблон. Необязательный параметр количество определяет количество сохраненных подстрок.</p><p>Обратил внимание, что в своем сообщении №7, в самом начале допустил&nbsp; ошибку. Исправил.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-03-03T11:32:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57424#p57424</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57423#p57423" />
			<content type="html"><![CDATA[<p><span style="color: Green"><strong>Любитель</strong>, <strong>Serge Yolkin</strong>, используйте <a href="http://forum.script-coding.com/help.php#bbcode">тэг «url»</a> для оформления ссылок на форуме.</span></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-03-03T11:18:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57423#p57423</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57422#p57422" />
			<content type="html"><![CDATA[<p>Мне больше понравился http://regexpres.narod.ru/calculator.html</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2012-03-03T10:08:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57422#p57422</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57417#p57417" />
			<content type="html"><![CDATA[<p>Всем спасибо.</p><p>Вот только грабли это, или всё правильно?<br />Думаю всё правильно, нужно знать и уметь пользоваться. Просто на хабре сделали проблему вместо разъяснений реальности не очевидной для большинства. ИМХО.<br />Я бы такое долго искал, теперь главное вовремя про это вспомнить.:)</p><p>Ну и мои три копейки, на газировку с сиропом в автомате.</p><p>проверяет регулярные выражения<br />http://www.pagecolumn.com/tool/regtest.htm</p>]]></content>
			<author>
				<name><![CDATA[Любитель]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27037</uri>
			</author>
			<updated>2012-03-03T04:03:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57417#p57417</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: test() и exec() таки глючат или нет?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57302#p57302" />
			<content type="html"><![CDATA[<p>Честно говоря, про слова jite я вспомнил после статьи на хабре - <a href="http://habrahabr.ru/blogs/javascript/112824/">&quot;регулярная ловушка&quot;</a> и мне подумалось, что он как раз таки хотел рассказать нам про аналогичные случаи. Но вы Rumata проницательны. 8)</p><p>Нужно просто более подробно вникнуть в суть javascript методов exec, search, test, match и точно знать чем они отличаются. Пойду ка перечитаю спецификацию.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-28T02:46:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57302#p57302</id>
		</entry>
</feed>
