<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Регулярные выражения]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10007&amp;type=atom" />
	<updated>2023-04-24T19:22:13Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10007</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157857#p157857" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>john_dease пишет:</cite><blockquote><p>Но и в таком виде шаблон не работает, например, в jscript-коде.</p></blockquote></div><p>По-моему, там <strong>\K</strong> не поддерживается. Но ваш шаблон не корректно работает и в AHK:<br /></p><div class="codebox"><pre><code>str = raznicá
MsgBox % RegExReplace(str, &quot;i)([а-яё])?\Ká(?=($|[а-яё]))&quot;, &quot;А&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-24T19:22:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157857#p157857</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157852#p157852" />
			<content type="html"><![CDATA[<p>Нет, у меня другой принцип.<br /></p><div class="codebox"><pre><code>(?=(?(1)|[а-яё]))</code></pre></div><p>Здесь проверяется наличие в тексте соответствия первому подшаблону (перед буквой), если его нет, то проверяется его наличие после буквы.<br />Можно даже ещё упростить:<br /></p><div class="codebox"><pre><code>RegExReplace(str, &quot;i)([а-яё])?\Ká(?=(?(1)|(?1)))&quot;, &quot;А&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-24T18:54:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157852#p157852</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157844#p157844" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, может ли технически считаться тем же самым результатом такое изменение? - </p><p><strong>i)([а-яё])?\Ká(?=(<span style="color: red">$</span>|[а-яё]))</strong></p><p>Но и в таком виде шаблон не работает, например, в jscript-коде.</p>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2023-04-24T17:14:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157844#p157844</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157842#p157842" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>RegExReplace(str, &quot;i)([а-яё])?\Ká(?=(?(1)|[а-яё]))&quot;, &quot;А&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-23T20:00:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157842#p157842</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157837#p157837" />
			<content type="html"><![CDATA[<p>Как правильно заменить все &quot;á&quot;, которые находятся в сочетании с кириллицей, не затрагивая остальные?<br /></p><div class="codebox"><pre><code>str =
(
á
raznicá
árznica
ráznica

рáзница
áрзница
ррзницá
)
str := RegExReplace(str, &quot;s)(?=[а-яёА-ЯЁ])á(?=[а-яёА-ЯЁ])&quot;, &quot;А&quot;)
MsgBox % str</code></pre></div>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2023-04-23T17:29:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157837#p157837</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86896#p86896" />
			<content type="html"><![CDATA[<p>Хреново я справку читал, там ведь это было <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Спасибо, теперь все понятно.</p>]]></content>
			<author>
				<name><![CDATA[Kokkolar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27388</uri>
			</author>
			<updated>2014-09-29T22:50:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86896#p86896</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86895#p86895" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Жадность: (Примеч. переводчика: жадный символ из нескольких возможных отвечающих вариантов выберет самый длинный.) по умолчанию, символы *, ?, +, {min,max} являются жадными, поскольку они поглощают все символы, включая последний из тех, что еще отвечают всему шаблону. Чтобы взамен этого, заставить их остановиться на самом коротком из возможных вариантов соответствия, добавьте следом за любым из них знак вопроса. Например, шаблон &lt;.+&gt; (в котором нет знака вопроса) означает: &quot;найти &lt;, за которым следует одна или большее число литер, за которыми следует &gt;&quot;. Такой шаблон захватит всю строку &lt;em&gt;text&lt;/em&gt;. Добавьте знак вопроса за плюсом: &lt;.+?&gt;. И поиск остановится на первом символе &#039;&gt;&#039;, таким образом этот шаблон отвечает только открывающему тегу &lt;em&gt;.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2014-09-29T22:15:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86895#p86895</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86865#p86865" />
			<content type="html"><![CDATA[<p>Спасибо, работает.</p><p>Но понять не могу что подобная запись значит.<br />Прочтение справки по использованию <strong>&quot;?&quot;</strong> ясности не прибавило <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Kokkolar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27388</uri>
			</author>
			<updated>2014-09-29T19:11:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86865#p86865</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86852#p86852" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>    source=zzznameCatBBcccBBsssBB
    msgbox % RegExReplace(source,&quot;.*name(.*?)BB.*&quot;,&quot;$1&quot;) </code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-09-29T17:48:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86852#p86852</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Регулярные выражения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86851#p86851" />
			<content type="html"><![CDATA[<p>Скрипт:<br /></p><div class="codebox"><pre><code>F1::
    source=zzznameCatBBcccBBsssBB
    res:=RegExReplace(source,&quot;.*name(.*)BB.*&quot;,&quot;$1&quot;)
    msgbox % &quot;1) &quot; source &quot;`n2) &quot; res
return</code></pre></div><p>Результат: &quot;CatBBcccBBsss&quot;<br />Что требуется получить: &quot;Cat&quot;</p><p>То есть мне нужно ограничить область в скобочках до <strong>первого</strong> появления &quot;<strong>BB</strong>&quot;, а то скрипт использует самое последнее появление &quot;<strong>BB</strong>&quot; как ограничитель.</p><p>Есть конечно варианты типа:<br /></p><div class="codebox"><pre><code>res:=RegExReplace(source,&quot;.*name(.*)BB.*BB.*BB&quot;,&quot;$1&quot;)</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>res:=RegExReplace(source,&quot;.*name(.*)BBccc.*&quot;,&quot;$1&quot;)</code></pre></div><p>Можно ли написать более универсальное выражение и чтобы без перечисления всех возможных символов в квадратных скобках?</p>]]></content>
			<author>
				<name><![CDATA[Kokkolar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27388</uri>
			</author>
			<updated>2014-09-29T17:43:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86851#p86851</id>
		</entry>
</feed>
