<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: Исп. символа "*" в RegExp]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13176&amp;type=atom" />
	<updated>2017-11-20T11:17:30Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=13176</id>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121429#p121429" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>&quot;dab&quot;.replace(/a*/g, &quot;Y&quot;)</code></pre></div><p>Квантификатор * - жадный, то есть он захватывает максимально возможную последовательность. В данном случае это могут быть <br />-- пустая строка или<br />-- сколько-то букв a</p><p>Для строки dab из примера это 4 варианта<br />-- пустота перед d - превращается в первую Y, результат - Ydab<br />-- символы a после d - превращается во вторую Y, результат - YdYb<br />-- пустота перед b - превращается в третью Y, результат - YdYYb<br />-- пустота после b - превращается в четвертую Y, результат - YdYYbY</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2017-11-20T11:17:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121429#p121429</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121422#p121422" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>im2002 пишет:</cite><blockquote><p>2) после &quot;d&quot; идёт символ &quot;а&quot;, кот. также соотв. (второй &quot;Y&quot;),  рез. = Y<br />3) перед символом  &quot;b&quot; стоит &quot;а&quot;, кот. также соотв. (третий &quot;Y&quot;),  рез. = Y</p></blockquote></div><p>Но тогда и без звёздочки получалось бы YY в середине, но получается Y. Так что, наверно, тут учитывается пустота перед &quot;b&quot;. А после &quot;d&quot; пустота не считается, т.к. там стоит &quot;a&quot;.</p><p>Или, может быть, наоборот. Учитывается пустота после &quot;d&quot;, а дальше идёт &quot;a&quot;, соответственно перед &quot;b&quot; уже не пустота. И получается два совпадения, а не три, как тоже можно было бы подумать.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2017-11-20T07:50:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121422#p121422</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121419#p121419" />
			<content type="html"><![CDATA[<p><strong>YMP</strong><br />По поводу &quot;пустоты&quot; ещё вопрос.</p><div class="codebox"><pre><code>WScript.Echo(&quot;dab&quot;.replace(/a*/g, &quot;Y&quot;));		// ожидал YdYbY, имеем по факту: YdYYbY</code></pre></div><p>пытался логически &quot;подогнать&quot; под фактический результат рассуждал так:</p><p>1) &quot;пустота&quot; перед символом &quot;d&quot; соотв. шаблону (первый &quot;Y&quot;), далее &quot;d&quot;. рез. = Yd<br />2) после &quot;d&quot; идёт символ &quot;а&quot;, кот. также соотв. (второй &quot;Y&quot;),&nbsp; рез. = Y<br />3) перед символом&nbsp; &quot;b&quot; стоит &quot;а&quot;, кот. также соотв. (третий &quot;Y&quot;),&nbsp; рез. = Y<br />4) далее идёт символ &quot;b&quot; и &quot;пустота&quot; за ним соотв. шаблону (четвёртый &quot;Y&quot;) рез. = bY<br />5) итог: Yd+Y+Y+bY = YdYYbY</p><p>Хотел спросить: так обосновать правильно?</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2017-11-20T06:31:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121419#p121419</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120961#p120961" />
			<content type="html"><![CDATA[<p>Очень часто выручают.<br /></p><ul><li><p>RegexBuddy</p></li><li><p>RegexMagic</p></li></ul>]]></content>
			<author>
				<name><![CDATA[929151]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29475</uri>
			</author>
			<updated>2017-11-08T23:58:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120961#p120961</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120941#p120941" />
			<content type="html"><![CDATA[<p>спасибо всем:)</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2017-11-08T18:42:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120941#p120941</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120921#p120921" />
			<content type="html"><![CDATA[<p>a* — это ноль или больше символов &quot;а&quot;, а не какие-то другие символы. Т.е. ему соответствует пустое место или любое количество символов &quot;а&quot;.</p><p>а? — это пустое место или один символ &quot;а&quot;.</p><p>&quot;b&quot; — это не отсутствие символа &quot;а&quot;, а символ &quot;b&quot;. А вот пустота до и после него соответствует отсутствию любых символов, в том числе и &quot;а&quot;.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2017-11-08T15:50:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120921#p120921</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120912#p120912" />
			<content type="html"><![CDATA[<p><strong>929151</strong><br />Подобрать выражение для такого простого случая как я описал (чтобы результатом был один символ &quot;Y&quot;) не проблема. Хочу понять как &quot;правильно рассуждать&quot; чтоб составлять такие выражения результат которых будет ожидаем, т.к. не пойму как действуют символы * и ?. Может есть ссылка на доходчивый материал где объясняются шаблоны и рег. выр. для JS?</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2017-11-08T14:48:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120912#p120912</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120909#p120909" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>WScript.Echo (&quot;bbbb&quot;.replace(/b.*/g, &quot;Y&quot;));</code></pre></div>]]></content>
			<author>
				<name><![CDATA[929151]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29475</uri>
			</author>
			<updated>2017-11-08T13:58:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120909#p120909</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JS: Исп. символа "*" в RegExp]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120908#p120908" />
			<content type="html"><![CDATA[<p>Никак не могу разобраться как действуют символы * и ? в рег. выражениях...<br />вот цитата из учебника JavaScript_(изд._O_Reilly):<br />&quot; Будьте осторожны при использовании символов повторения * и ?. Они могут со<br />ответствовать отсутствию указанного перед ними шаблона и, следовательно, от<br />сутствию символов. Например, регулярному выражению a* соответствует<br />строка &quot;bbbb&quot;, поскольку в ней нет символа a!&quot;</p><div class="codebox"><pre><code>WScript.Echo(&quot;bbbb&quot;.replace(/a*/,&quot;Y&quot;));		// предполагал, что результатом будет Y, т.к. вся строка соотв. шаблону, но результат Ybbbbb?!	</code></pre></div>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2017-11-08T13:46:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120908#p120908</id>
		</entry>
</feed>
