<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
 <!ENTITY % Russian "INCLUDE">
 <!ENTITY % addindex "IGNORE">
]>

<book lang="&language;">

  <bookinfo>
    <title
>Редактор регулярных выражений</title>

    <authorgroup>
      <author
><firstname
>Jesper K.</firstname
> <surname
>Pedersen</surname
> <affiliation
><address
><email
>blackie@kde.org</email
></address
></affiliation>
      </author>
    </authorgroup>

    <date
>2001-07-03</date>
    <releaseinfo
>0.1</releaseinfo>

    <legalnotice
>&underFDL;</legalnotice>

    <copyright>
      <year
>2001</year>
      <holder
>Jesper K. Pedersen</holder>
    </copyright>

    <abstract>
      <para
>Это руководство описывает виджет встроенного редактора регулярных выражений.</para>
    </abstract>

    <keywordset>
      <keyword
>KDE</keyword>
      <keyword
>регулярное выражение</keyword>
    </keywordset>
  </bookinfo>

  <!-- ====================================================================== -->
  <!--                               Introduction                             -->
  <!-- ====================================================================== -->
  <chapter id="introduction">
    <title
>Введение</title>


    <para
>Редактор регулярных выражений предназначен для редактирования регулярных выражений в графическом виде (в отличие от текстовых строк). Традиционно, регулярные выражения имеют ASCII синтаксис, к примеру: <literal
>^.*kde\b</literal
>. Основными недостатками данного стиля являются: <itemizedlist>
        <listitem
><para
>Сложность применения для людей, не занимающихся программированием.</para
></listitem>

        <listitem
><para
>Необходимость <emphasis
>экранировать</emphasis
> определённые символы (например, чтобы использовать символ звёздочки, придётся набрать <literal
>\*</literal
>). </para
></listitem>

        <listitem
><para
>Необходимость постоянно помнить и соблюдать правила приоритетов выполнения - что делает операция <literal
>x|y*</literal
>? Значение <literal
>x</literal
> или множество <literal
>y</literal
>, <emphasis
>ИЛИ</emphasis
> множества <literal
>x</literal
> и <literal
>y</literal
> смешаны?</para
></listitem>
      </itemizedlist>
    </para>

    <para
>The regular expression editor, on the other hand, lets you <emphasis
>draw</emphasis
> your regular expression in an unambiguous way. The editor solves at least item two and three above. It might not make regular expressions available for the non-programmers, though only tests by users can tell that. So, if are you a non programmer, who has gained the power of regular expression from this editor, then please <ulink url="mailto:blackie@kde.org"
>let me know</ulink
>. </para>

  </chapter>

  <!-- ====================================================================== -->
  <!--                       What is a Regular Expression                     -->
  <!-- ====================================================================== -->
  <chapter id="whatIsARegExp">
    <title
>Что такое регулярное выражение?</title>

    <para
>A regular expression is a way to specify <emphasis
>conditions</emphasis
> to be fulfilled for a situation in mind. Normally when you search in a text editor you specify the text to search for <emphasis
>literally</emphasis
>, using a regular expression, on the other hand, you tell what a given match would look like. Examples of this include <emphasis
>I'm searching for the word KDE, but only at the beginning of the line</emphasis
>, or <emphasis
>I'm searching for the word <literal
>the</literal
>, but it must stand on its own</emphasis
>, or <emphasis
>I'm searching for files starting with the word <literal
>test</literal
>, followed by a number of digits, for example <literal
>test12</literal
>, <literal
>test107</literal
> and <literal
>test007</literal
></emphasis
></para>

    <para
>You build regular expressions from smaller regular expressions, just like you build large Lego toys from smaller subparts. As in the Lego world, there are a number of basic building blocks. In the following I will describe each of these basic building blocks using a number of examples.</para>

    <example>
      <title
>Поиск обычного текста</title>
      <para
>If you just want to search for a given text, a then regular expression is definitely not a good choice. The reason for this is that regular expressions assign special meaning to some characters. This includes the following characters: <literal
>.*|$</literal
>. Thus if you want to search for the text <literal
>kde.</literal
> (i.e. the characters <literal
>kde</literal
> followed by a period), then you would need to specify this as <literal
>kde\.</literal
><footnote
><para
>The regular expression editor solves this problem by taking care of escape rules for you.</para
></footnote
> Writing <literal
>\.</literal
> rather than just <literal
>.</literal
> is called <emphasis
>escaping</emphasis
>. </para>
    </example>

    <example id="positionregexp">
      <title
>Matching URLs</title>
      <para
>Когда вы выбираете нечто похожее на URL в KDE, то программа <command
>klipper</command
> предложить вам открыть этот URL при помощи <command
>konqueror</command
>.</para>

      <para
><command
>Klipper</command
> осуществляет свой выбор, руководствуясь результатами сопоставления нескольких регулярных выражений, и когда одно из регулярных выражений совпадает с искомым, тогда и будет предложен подходящий вариант.</para>
      
      <para
>Регулярное выражение для URL содержит (помимо всего прочего) условие, что текст должен начинаться с <literal
>http://</literal
>. С помощью регулярного выражения это условие можно описать следующим образом: <literal
>http://</literal
> со шляпой (с символом <literal
>^</literal
>).</para>

      <para
>Предыдущий пример показывает, как с помощью регулярных выражений можно указать расположение искомого фрагмента в тексте (совпадение позиции). Аналогично можно указать на то, что искомый фрагмент находится <emphasis
>в конце строки </emphasis
>, для этого используется символ <literal
>$</literal
> (символ доллара).</para>
    </example>

    <example id="boundaryregexp">
      <title
>Поиск слова <literal
>the</literal
>, но не <emphasis
>the</emphasis
><literal
>re</literal
>, <literal
>brea</literal
><emphasis
>the</emphasis
> или <literal
>ano</literal
><emphasis
>the</emphasis
><literal
>r</literal
></title>
      <para
>По образу и подобию вышеизложенного могут быть указаны ещё два дополнительных условия при поиске, а именно: позиция <emphasis
>на границе слова</emphasis
> (в начале, либо конце) и <emphasis
>не на границе слова</emphasis
>. Для обозначения этих условий применяются обозначения <literal
>\b</literal
> (указание на границу слова) и <literal
>\B</literal
> (не на границе слова). <emphasis
></emphasis
></para>

      <para
>Таким образом слово <literal
>the</literal
> можно найти, воспользовавшись регулярным выражением <literal
>\bthe\b</literal
>. Этим мы указываем, что ищем просто слово <literal
>the</literal
> без каких-бы то ни было довесков перед и после слова (т.е с границами по каждой из сторон слова) </para>

      <para
>Все четыре типа указания на расположение, использующиеся в регулярных выражениях, включены в редактор, см. <link linkend="positiontool"
> четыре различных типа расположения</link
></para>
    </example>

    <example id="altnregexp">
      <title
>Поиск всех <literal
>this</literal
> или <literal
>that</literal
></title>
      <para
>Представьте себе, что вы хотите найти в документе слово <literal
>this</literal
> или слово <literal
>that</literal
>. При обычном поиске вам необходимо сделать два прохода: в первый произвести поиск слова <literal
>this</literal
>, во второй - <literal
>that</literal
>.</para>

      <para
>Используя регулярные выражения, вы можете сделать всё это за один приём. Для этого запишите выражение следующим образом: <literal
>this|that</literal
>, т.е. разделите оба искомых слова вертикальной чертой. <footnote
><para
>Обратите внимание, что по обе стороны от вертикальной черты могут находиться не только искомые слова, но и два регулярных выражения.</para
></footnote
></para>

      <para
>In the regular expression editor you do not write the vertical bar yourself, but instead select the <link linkend="altntool"
>alternative tool</link
>, and insert the smaller regular expressions above each other.</para>
    </example>

    <example id="repeatregexp">
      <title
>Совпадение с произвольным условием</title>
      <para
>Регулярные выражения часто сравнивают с шаблоном, использующемся в командном интерпретаторе (оболочке), где можно выбрать несколько файлов, используя звёздочку. Вы без всякого сомнения узнаете шаблон в следующих примерах: <itemizedlist>
          <listitem
><para
><literal
>ls *.txt</literal
> - here <literal
>*.txt</literal
> is the shell wildcard matching every file ending with the <literal
>.txt</literal
> extension.</para
></listitem>
          <listitem
><para
><literal
>cat test??.res</literal
> - вывод всех файлов, начинающихся с <literal
>test</literal
>, за которым следуют два любых символа, и заканчивающихся на <literal
>.res</literal
>.</para
></listitem>
        </itemizedlist>
      </para>

      <para
>В оболочке звёздочка указывает, что любой символ может встретиться в названии любое количество раз, другими словами, звёздочка означает <emphasis
>всё, что угодно</emphasis
>. В регулярном выражении подобное условие задаётся при помощи записи  <literal
>.*</literal
>. Точка указывает, что может быть <emphasis
> один</emphasis
> произвольный символ, в свою очередь звёздочка сообщает, что предыдущее регулярное выражение может соответствовать любое количество раз. Вместе они задают условие поиска: любой единичный символ может быть встречен произвольное количество раз.</para>

      <para
>Это может на первый взгляд показаться чрезмерно сложным, но когда вы увидите всю картину работы регулярных выражений,то сможете по достоинству оценить всё их изящество. Позвольте продемонстрировать ещё одно основное выражение: <literal
>a</literal
>. Эта запись указывает, что регулярное выражение ищет соответствие одиночному символу <literal
>a</literal
>. Если объединить эту запись со звёздочкой, т.е. <literal
>a*</literal
>, то получится регулярное выражение допускающее любое количество символов a.</para>

      <para
>Можно объединять несколько регулярных выражений последовательно, например <literal
>ba(na)*</literal
>. Запись <footnote
><para
><literal
>(na)*</literal
> указывает, что строка в скобках может повторяться любое количество раз</para
></footnote
>. Представьте себе, что работая в текстовом редакторе, вы должны найти следующие слова: <literal
>ba</literal
>, <literal
>bana</literal
>, <literal
>banana</literal
>, <literal
>bananananananana</literal
> </para>

      <para
>Как сказано выше, не составляет труда записать шаблон оболочки: <literal
>test??.res</literal
> через регулярное выражение: <literal
>test..\.res</literal
>. Вообще-то точка означает любой символ. Для того чтобы указать что нужна именно точка, вы должны записать <literal
>\.</literal
><footnote
><para
>  Здесь использована управляющая последовательность</para
></footnote
>. Во всех словах регулярное выражение <literal
>\.</literal
> означает точка, а просто точка - соответствие любому символу в данной позиции. </para>

      <para
>In the regular expression editor, a repeated regular expression is created using the <link linkend="repeattool"
>repeat tool</link
> </para>
    </example>

    <example id="lookaheadregexp">
      <title
>Replacing <literal
>&amp;</literal
> with <literal
>&amp;amp;</literal
> in a HTML document</title
> <para
>В документе HTML, для того чтобы отображался специальный символ <literal
>&amp;</literal
>, его необходимо записать как <literal
>&amp;amp;</literal
> - по аналогии с тем, как происходит замена служебных символов на управляющие последовательности в регулярных выражениях.</para>

      <para
>Представьте себе, что вы набрали документ HTML в обычном текстовом редакторе (XEmacs, Kate или Notepad), и полностью забыли про эти правила. Для того чтобы устранить ошибку, необходимо заменить все записи <literal
>&amp;</literal
> на <literal
>&amp;amp;</literal
>.</para>

      <para
>This can easily be done using normal search and replace, there is, however, one glitch. Imagine that you did remember this rule - <emphasis
>just a bit</emphasis
> - and did it right in some places. Replacing unconditionally would result in <literal
>&amp;amp;</literal
> being replaced with <literal
>&amp;amp;amp;</literal
></para>

      <para
>На самом деле вы хотите произвести замену записи <literal
>&amp;</literal
> только в том случае, если за ней <emphasis
>не</emphasis
> стоит <literal
>amp;</literal
>. Для этого вы должны воспользоваться регулярными выражениями, использующими <emphasis
>запрещения</emphasis
>. </para>

      <para
>Для того чтобы выполнить условие, при котором за искомым не должно стоять <literal
>amp;</literal
>, необходимо записать следующее выражение: <literal
>&amp;(?!amp;)</literal
>. Гораздо проще всё будет выглядеть в редакторе регулярных выражений, если вы воспользуетесь <link linkend="lookaheadtools"
> инструментами запрета/расширения</link
>.</para>
    </example>

  </chapter>

  <!-- ====================================================================== -->
  <!--                    Using the Regular Expression Editor                 -->
  <!-- ====================================================================== -->
  <chapter id="theEditor">
    <title
>Работа с редактором регулярных выражений</title>

    <para
>В этой главе рассказывается о работе непосредственно с редактором регулярных выражений </para>

    <!-- ====================================================================== -->
    <!--                   The organization of the screen                       -->
    <!-- ====================================================================== -->
    <sect1 id="screenorganization">
      <title
>Организация рабочего окна</title>

      <mediaobject>
        <imageobject
><imagedata format="PNG" fileref="theEditor.png"/></imageobject>
      </mediaobject>
      
      <para
>Наиболее важной частью редактора является область редактирования, это область, в который вы рисуете регулярные выражения. Область имеет серый цвет и расположена в центре рабочего окна.</para>

      <para
>Выше области редактирования расположены две панели инструментов. Первая панель содержит <link linkend="editingtools"
>средства редактирования</link
> и очень похожа на инструменты для рисования в графических программах. Вторая панель содержит кнопку <emphasis
>Что это?</emphasis
> и кнопки отмены и повтора.</para>

      <para
></para>

      <para
>Ниже области редактирования находится строка регулярного выражения в текстовом (ASCII) виде. Все изменения, вносимые в графическом редакторе переносятся в текстовую форму. Если вы захотите поправить регулярное выражение в текстовом виде, то все изменения также будут внесены в графическое представление.</para>

      <para
>Наконец, слева от области редактирования есть много заготовок регулярных выражений. Они служат для достижения двух целей: (1) Когда вы используете редактор, эти выражения являются более <emphasis
>качественными</emphasis
> или, если хотите, более исчерпывающими, заменяя общие регулярные выражения. На рисунке выше вы можете увидеть, как текстовое представление ".*" заменяется на шаблонное "всё что угодно".(2) Вы можете использовать эти заготовки в качестве строительного материала для построения своих регулярных выражений. За более исчерпывающей информацией обратитесь к разделу <link linkend="userdefinedregexps"
>регулярные выражения, определяемые пользователями</link
>, где содержится подробная информация о том, как сохранить ваши собственные регулярные выражения.</para
>      
    </sect1>

    <!-- ====================================================================== -->
    <!--                         Editing Tools                                  -->
    <!-- ====================================================================== -->
    <sect1 id="editingtools">
      <title
>Средства редактирования</title>
      <para
>В этой главе предполагается, что вы изучили главу <link linkend="whatIsARegExp"
>что такое регулярные выражения</link
> и имеете представление, о чём идёт речь.</para>
      
      <para
>Все инструменты расположены на панели инструментов, выше области редактирования. Далее будет описан каждый из инструментов.</para>
      
      

      <simplesect id="selecttool">
        <title
>Выделение <inlinemediaobject
> <imageobject
><imagedata format="PNG" fileref="select.png"/>
        </imageobject
></inlinemediaobject
></title>

        <para
>Выделение предназначено для обозначения элементов, подлежащих вырезке - вставке или перетаскиванию. Выделение работает также как и в обычных программах для работы с графикой.</para>
      </simplesect>
        
      

      <simplesect id="texttool"
><title
>Текст <inlinemediaobject
><imageobject>
            <imagedata format="PNG" fileref="text.png"/>
            </imageobject
></inlinemediaobject
></title>

        <para
><inlinemediaobject
><imageobject>
              <imagedata format="PNG" fileref="texttool.png"/>
        </imageobject
></inlinemediaobject
></para>

        <para
>Используя этот инструмент вы можете вставить обычный текст, при этом не заботясь о наличии и необходимости замены специальных символов. Далее в примере будет создано регулярное выражение:  <literal
>abc\*\\\)</literal
></para>
      </simplesect>

      

      <simplesect id="characterstool"
><title
>Символ <inlinemediaobject
><imageobject>
            <imagedata format="PNG" fileref="characters.png"/>
            </imageobject
></inlinemediaobject
></title>
      
        <para
><inlinemediaobject
><imageobject>
            <imagedata format="PNG" fileref="charactertool.png"/>
            </imageobject
></inlinemediaobject
></para>
        
        <para
>Используя этот инструмент, вы определяете области значений символьных величин. К примеру, что в тексте содержатся символы <literal
>[0-9]</literal
>, <literal
>[^a-zA-Z,_]</literal
>. Если вы воспользовались данным инструментом, то должен появиться диалог, в котором определяются области значений символьных величин.</para>
        
        <para
>См. также <link linkend="repeatregexp"
>повторение регулярных выражений</link
>.</para>
      </simplesect>

      
      
      <simplesect id="anychartool"
><title
>Любой символ <inlinemediaobject
><imageobject>
              <imagedata format="PNG" fileref="anychar.png"/>
        </imageobject
></inlinemediaobject
></title>
        
        <para
><inlinemediaobject
><imageobject
><imagedata format="PNG" fileref="anychartool.png"/>
        </imageobject
></inlinemediaobject
></para>

        <para
>Регулярное выражение "точка" (.). Точка соответствует любому одиночному символу.</para
> 
        
       
        
        </simplesect>



      <simplesect id="repeattool"
><title
>Повторение <inlinemediaobject
><imageobject>
            <imagedata format="PNG" fileref="repeat.png"/>
            </imageobject
></inlinemediaobject
></title>

        <para
><inlinemediaobject
><imageobject>
            <imagedata format="PNG" fileref="repeattool.png"/>
            </imageobject
></inlinemediaobject
></para>

        <para
>Повторяющиеся элементы. Включают в себя звёздочку (*), плюс (+), знак вопроса (?) и интервал ({3,5}). Если вы используете этот инструмент, то появится диалог, в котором вы должны указать необходимое количество повторов.</para>
          
          <para
>Вы определяете, что требуется повторять, рисуя его внутри квадратика, который появляется при использовании данного инструмента.</para>

          <para
>Повторяемые элементы выражения можно взять извне, затем поместить в квадрат. Также вы можете сперва нарисовать то что потом должно будет быть повторено, а затем выбрать инструмент повторения. И наоборот: вы можете сперва вставить повторитель, а затем нарисовать внутри него повторяемое. </para>

        <para
>См. <link linkend="repeatregexp"
>повторяемые регулярные выражения</link
>.</para>
        </simplesect>




      <simplesect id="altntool"
><title
>Варианты <inlinemediaobject
><imageobject>
            <imagedata format="PNG" fileref="altn.png"/>
            </imageobject
></inlinemediaobject
></title>

        <para
><inlinemediaobject
><imageobject
><imagedata format="PNG" fileref="altntool.png"/>
        </imageobject
></inlinemediaobject
></para>
        
        <para
>Задание альтернативы - это использование оператора(|). Вы рисуете другой вариант поверх имеющегося, после того как в редакторе появится новый квадратик для ввода.</para>

        <para
>См. раздел <link linkend="altnregexp"
>альтернативные регулярные выражения</link
></para>
      </simplesect>
      



      <simplesect id="compoundtool"
><title
>Составное выражение <inlinemediaobject
><imageobject>
              <imagedata format="PNG" fileref="compound.png"/>
        </imageobject
></inlinemediaobject
></title>
        
        <para
><inlinemediaobject
><imageobject
><imagedata format="PNG" fileref="compoundtool.png"/>
        </imageobject
></inlinemediaobject
></para>
        
        <para
>Это - не регулярное выражение. Оно позволяет группировать составляющие для того, чтобы вы могли их легко использовать, руководствуясь только названиями. Это видно в правой части рисунка.</para>
      </simplesect>





      <simplesect id="positiontool"
><title
>Начало/конец строки <inlinemediaobject
><imageobject
> <imagedata format="PNG" fileref="begline.png"/> </imageobject
></inlinemediaobject
>&nbsp;&nbsp; <inlinemediaobject
><imageobject>
              <imagedata format="PNG" fileref="endline.png"/>
        </imageobject
></inlinemediaobject
></title>
        
        <para
><inlinemediaobject
><imageobject
><imagedata format="PNG" fileref="linestartendtool.png"/>
        </imageobject
></inlinemediaobject
></para>

        <para
>Инструменты начала и конца строк указывают на соответствие условиям начала и конца строки. Регулярное выражение в приведённом выше примере рабочего окна редактора не содержит символов соответствия начала/конца строк.</para>
        
        <para
>См. <link linkend="positionregexp"
>сопоставление позиций в регулярных выражениях</link
>.</para>
      </simplesect>





      <simplesect
><title
>(Не)граница слова <inlinemediaobject
><imageobject
> <imagedata format="PNG" fileref="wordboundary.png"/> </imageobject
></inlinemediaobject
>&nbsp;&nbsp; <inlinemediaobject
><imageobject
><imagedata format="PNG" fileref="nonwordboundary.png"/>
        </imageobject
></inlinemediaobject
></title>

        <para
><inlinemediaobject
><imageobject
><imagedata format="PNG" fileref="boundarytools.png"/>
        </imageobject
></inlinemediaobject
></para>

        <para
>Инструментальные средства границ позволяют задавать условия соответствие границам или содержимому слова. Регулярное выражение, изображённое на рисунке, совпадает с любыми словами, начинающимися с <literal
>the</literal
>. Само слово <literal
>the</literal
> не совпадает с этим условием.</para>

        <para
>См. описание в разделе <link linkend="boundaryregexp"
>границы в регулярных выражениях</link
>.</para>
      </simplesect>





      <simplesect id="lookaheadtools"
><title
>Упреждающий поиск (по отрицанию) <inlinemediaobject
><imageobject
> <imagedata format="PNG" fileref="poslookahead.png"/> </imageobject
></inlinemediaobject
>&nbsp;&nbsp; <inlinemediaobject
><imageobject
> <imagedata format="PNG" fileref="neglookahead.png"/>
        </imageobject
></inlinemediaobject
></title>

        <para
><inlinemediaobject
><imageobject
> <imagedata format="PNG" fileref="lookaheadtools.png"/>
        </imageobject
></inlinemediaobject
></para>

        <para
>Инструментальные средства условий разрешения/блокировки определяют будут ли приняты результаты по конкретному условию. Частное решение, тем не менее, не является частью общего.</para>

        <para
>Note: You are only allowed to place lookaheads at the end of the regular expressions. The Regular Expression Editor widget does not enforce this.</para>

        <para
>См. описание в разделе <link linkend="lookaheadregexp"
>блокировки и разрешения в регулярных выражениях</link
>.</para>
      </simplesect>
    </sect1>

  <!-- ====================================================================== -->
  <!--                  User Defined Regular Expressions                      -->
  <!-- ====================================================================== -->
    <sect1 id="userdefinedregexps">
      <title
>Регулярные выражения, определяемые пользователем</title>
      <para
>Located at the left of the editing area is a list box containing user defined regular expressions. Some regular expressions are pre-installed with your KDE installation, while others you can save yourself.</para
> 

      <para
>Данные регулярные выражения обеспечивают достижение двух целей: (см. <link linkend="screenorganization"
>более подробное описание</link
>), а именно: 1) Обеспечивают блоки для компоновки регулярных выражений 2) делают регулярные выражения более понятными.</para>

      <para
>Вы можете сохранить ваши собственные регулярные выражения, щёлкнув правой кнопкой мыши в области редактирования и выбрав пункт <literal
>Сохранить регулярное выражение</literal
> в появившемся меню.</para>

      <para
>If the regular expression you save is within a <link linkend="compoundtool"
>compound container</link
> then the regular expression will take part in making subsequent regular expressions prettier.</para>

      <para
>User defined regular expressions can be deleted or renamed by pressing the right mouse button on top of the regular expression in question in the list box.</para>
    </sect1>
  </chapter>

  <!-- ====================================================================== -->
  <!--                  Reporting a bug and Suggesting Features               -->
  <!-- ====================================================================== -->
  <chapter id="bugreport">
    <title
>Как сообщить о пожеланиях и замеченных ошибках?</title>
    <para
>Bug reports and feature requests should be submitted through the <ulink url="http://bugs.kde.org/"
>KDE Bug Tracking System</ulink
>. <emphasis role="strong"
>Before</emphasis
> you report a bug or suggest a feature, please check that it hasn't already been <ulink url="http://bugs.kde.org/simple_search.cgi?id=kregexpeditor"
>reported/suggested.</ulink
></para>
  </chapter>

  <!-- ====================================================================== -->
  <!--                                 FAQ                                    -->
  <!-- ====================================================================== -->
  <chapter id="faq">
    <title
>Вопросы и ответы</title>
    <sect1 id="question1">
      <title
>Поддерживает ли редактор регулярных выражений обратные ссылки?</title>
      <para
>В настоящий момент нет, но планируется к реализации в следующей версии.</para>
    </sect1>

    <sect1 id="question2">
      <title
>Будет ли в редакторе регулярных выражений предусмотрена возможность отображения совпадений?</title>
      <para
>Нет, но будем надеяться, что это будет реализовано в будущем.</para>
    </sect1>

    <sect1 id="question3">
      <title
>Я являюсь автором программы для KDE, как я могу использовать ваш редактор в своём приложении?</title>
      <para
>См. ссылку <ulink url="http://developer.kde.org/documentation/library/cvs-api/classref/interfaces/KRegExpEditorInterface.html"
>Документация для класса KRegExpEditorInterface</ulink
></para>
    </sect1>

    <sect1 id="question4">
      <title
>Я не могу найти кнопку <emphasis
>редактировать регулярные выражения</emphasis
>, допустим, в konqueror, после переустановки KDE 3, почему?</title>
      <para
>Виджет для работы с регулярными выражениями содержится в пакете kdeutils. Если вы не установили этот пакет, то кнопка <emphasis
>редактировать регулярные выражения </emphasis
>не появится в соответствующих программах.</para>
    </sect1>
  </chapter>

  <!-- ====================================================================== -->
  <!--                           Credits and Licenses                         -->
  <!-- ====================================================================== -->
  <chapter id="credits-and-license">
    <title
>Лицензия и благодарности</title>

    <para
>Документация (С) 2001, Jesper K. Pedersen <email
>blackie@kde.org</email
> </para
><para
>Перевод (С) 2002 Клютченя А.Л. <email
>asoneofus@kde.ru</email
></para
><para
>Редакция перевода (С) 2004 Н. Шафоростов, <email
>linux@l10n.org.ua</email
>, <ulink url="http://program.net.ua"
>http://program.net.ua</ulink
>. </para>
&underGPL; &underFDL; </chapter>


</book>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
