Warning, /utilities/kregexpeditor/doc/index.docbook is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" ?>
0002 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
0003 <!ENTITY % English "INCLUDE">
0004 <!ENTITY % addindex "IGNORE">
0005 ]>
0006
0007 <book id="kregexpeditor" lang="&language;">
0008
0009 <bookinfo>
0010 <title>The Regular Expression Editor Manual</title>
0011
0012 <authorgroup>
0013 <author>
0014 <firstname>Jesper K.</firstname>
0015 <surname>Pedersen</surname>
0016 <affiliation><address>&Jesper.Pedersen.mail;</address></affiliation>
0017 </author>
0018 <!-- TRANS:ROLES_OF_TRANSLATORS -->
0019 </authorgroup>
0020
0021 <date>2001-07-03</date>
0022 <releaseinfo>0.1</releaseinfo>
0023
0024 <legalnotice>&underFDL;</legalnotice>
0025
0026 <copyright>
0027 <year>2001</year>
0028 <holder>Jesper K. Pedersen</holder>
0029 </copyright>
0030
0031 <abstract>
0032 <para>This Handbook describes the Regular Expression Editor widget</para>
0033 </abstract>
0034
0035 <keywordset>
0036 <keyword>KDE</keyword>
0037 <keyword>regular expression</keyword>
0038 </keywordset>
0039 </bookinfo>
0040
0041 <!-- ====================================================================== -->
0042 <!-- Introduction -->
0043 <!-- ====================================================================== -->
0044 <chapter id="introduction">
0045 <title>Introduction</title>
0046
0047
0048 <para>
0049 The regular expression editor is an editor for editing regular expression
0050 in a graphical style (in contrast to the <acronym>ASCII</acronym> syntax). Traditionally
0051 regular expressions have been typed in the <acronym>ASCII</acronym> syntax, which for example
0052 looks like <literal>^.*kde\b</literal>. The major drawbacks of
0053 this style are:
0054 <itemizedlist>
0055 <listitem><para>It is hard to understand for
0056 non-programmers.</para></listitem>
0057
0058 <listitem><para>It requires that you <emphasis>escape</emphasis>
0059 certain symbols (to match a star for example, you need to type
0060 <literal>\*</literal>). </para></listitem>
0061
0062 <listitem><para>It requires that you remember rules for
0063 <emphasis>precedence</emphasis> (What does <literal>x|y*</literal>
0064 match? a single <literal>x</literal> or a number of
0065 <literal>y</literal>, <emphasis>OR</emphasis> a number of
0066 <literal>x</literal> and <literal>y</literal>'s mixed?)</para></listitem>
0067 </itemizedlist>
0068 </para>
0069
0070 <para>
0071 The regular expression editor, on the other hand, lets you
0072 <emphasis>draw</emphasis> your regular expression in an unambiguous
0073 way. The editor solves at least item two and three above. It might not make
0074 regular expressions available for the non-programmers, though only tests by
0075 users can tell that. So, if are you a non programmer, who has gained the
0076 power of regular expression from this editor, then please
0077 <ulink url="mailto:blackie@kde.org">let me know</ulink>.
0078 </para>
0079
0080 </chapter>
0081
0082 <!-- ====================================================================== -->
0083 <!-- What is a Regular Expression -->
0084 <!-- ====================================================================== -->
0085 <chapter id="whatIsARegExp">
0086 <title>What is a Regular Expression</title>
0087
0088 <para>A regular expression is a way to specify
0089 <emphasis>conditions</emphasis> to be fulfilled for a situation
0090 in mind. Normally when you search in a text editor you specify
0091 the text to search for <emphasis>literally</emphasis>, using a
0092 regular expression, on the other hand, you tell what a given
0093 match would look like. Examples of this include <emphasis>I'm
0094 searching for the word &kde;, but only at the beginning of the
0095 line</emphasis>, or <emphasis>I'm searching for the word
0096 <literal>the</literal>, but it must stand on its own</emphasis>,
0097 or <emphasis>I'm searching for files starting with the word
0098 <literal>test</literal>, followed by a number of digits, for
0099 example <literal>test12</literal>, <literal>test107</literal>
0100 and <literal>test007</literal></emphasis></para>
0101
0102 <para>You build regular expressions from smaller regular
0103 expressions, just like you build large Lego toys from smaller
0104 subparts. As in the Lego world, there are a number of basic
0105 building blocks. In the following I will describe each of these
0106 basic building blocks using a number of examples.</para>
0107
0108 <example>
0109 <title>Searching for normal text.</title>
0110 <para>If you just want to search for a given text, then regular
0111 expression is definitely not a good choice. The reason for this is that
0112 regular expressions assign special meaning to some characters. This
0113 includes the following characters: <literal>.*|$</literal>. Thus if you want to
0114 search for the text <literal>kde.</literal> (i.e. the characters
0115 <literal>kde</literal> followed by a period), then you would need to
0116 specify this as <literal>kde\.</literal><footnote><para>The regular
0117 expression editor solves this problem by taking care of escape rules for
0118 you.</para></footnote> Writing <literal>\.</literal> rather than just
0119 <literal>.</literal> is called <emphasis>escaping</emphasis>.
0120 </para>
0121 </example>
0122
0123 <example id="positionregexp">
0124 <title>Matching &URL;s</title>
0125 <para>When you select something looking like a &URL; in &kde;, then the
0126 program <command>klipper</command> will offer to start
0127 <command>konqueror</command> with the selected &URL;.</para>
0128
0129 <para><command>Klipper</command> does this by matching the selection
0130 against several different regular expressions, when one of the regular
0131 expressions matches, the accommodating command will be offered.</para>
0132
0133 <para>The regular expression for &URL;s says (among other things), that the
0134 selection must start with the text <literal>http://</literal>. This is
0135 described using regular expressions by prefixing the text
0136 <literal>http://</literal> with a hat (the <literal>^</literal>
0137 character).</para>
0138
0139 <para>The above is an example of matching positions using regular
0140 expressions. Similar, the position <emphasis>end-of-line</emphasis> can
0141 be matched using the character <literal>$</literal> (i.e. a dollar
0142 sign).</para>
0143 </example>
0144
0145 <example id="boundaryregexp">
0146 <title>Searching for the word <literal>the</literal>, but not
0147 <emphasis>the</emphasis><literal>re</literal>,
0148 <literal>brea</literal><emphasis>the</emphasis> or
0149 <literal>ano</literal><emphasis>the</emphasis><literal>r</literal></title>
0150 <para>Two extra position types can be matches in the above way,
0151 namely <emphasis>the position at a word boundary</emphasis>, and
0152 <emphasis>the position at a <emphasis>non</emphasis>-word
0153 boundary</emphasis>. The positions are specified using the text
0154 <literal>\b</literal> (for word-boundary) and <literal>\B</literal> (for
0155 non-word boundary)</para>
0156
0157 <para>Thus, searching for the word <literal>the</literal> can be done
0158 using the regular expression <literal>\bthe\b</literal>. This specifies
0159 that we are searching for <literal>the</literal> with no letters on each
0160 side of it (i.e. with a word boundary on each side)</para>
0161
0162 <para>The four position matching regular expressions are inserted in the
0163 regular expression editor using <link linkend="positiontool">four
0164 different positions tool</link></para>
0165 </example>
0166
0167 <example id="altnregexp">
0168 <title>Searching for either <literal>this</literal> or <literal>that</literal></title>
0169 <para>Imagine that you want to run through your document searching for
0170 either the word <literal>this</literal> or the word
0171 <literal>that</literal>. With a normal search method you could do this in
0172 two sweeps, the first time around, you would search for
0173 <literal>this</literal>, and the second time around you would search for
0174 <literal>that</literal>.</para>
0175
0176 <para>Using regular expression searches you would search for both in the
0177 same sweep. You do this by searching for
0178 <literal>this|that</literal>, &ie; separating the two words with a
0179 vertical bar.<footnote><para>Note on each side of the vertical bar is a
0180 regular expression, so this feature is not only for searching for two
0181 different pieces of text, but for searching for two different regular
0182 expressions.</para></footnote></para>
0183
0184 <para>In the regular expression editor you do not write the vertical bar
0185 yourself, but instead select the <link linkend="altntool">alternative
0186 tool</link>, and insert the smaller regular expressions above each other.</para>
0187 </example>
0188
0189 <example id="repeatregexp">
0190 <title>Matching anything</title>
0191 <para>Regular expressions are often compared to wildcard matching in the
0192 shell - that is the capability to specify a number of files using the
0193 asterisk. You will most likely recognize wildcard matching from the
0194 following examples:
0195 <itemizedlist>
0196 <listitem><para><literal>ls *.txt</literal> - here <literal>*.txt</literal> is
0197 the shell wildcard matching every file ending with the
0198 <literal>.txt</literal> extension.</para></listitem>
0199 <listitem><para><literal>cat test??.res</literal> - matching every file starting with
0200 <literal>test</literal> followed by two arbitrary characters, and finally
0201 followed by the test <literal>.res</literal></para></listitem>
0202 </itemizedlist>
0203 </para>
0204
0205 <para>In the shell the asterisk matches any character any number of
0206 times. In other words, the asterisk matches <emphasis>anything</emphasis>.
0207 This is written like <literal>.*</literal> with regular expression
0208 syntax. The dot matches any single character, &ie; just
0209 <emphasis>one</emphasis> character, and the asterisk, says that the
0210 regular expression prior to it should be matched any number of
0211 times. Together this says any single character any number of
0212 times.</para>
0213
0214 <para>This may seem overly complicated, but when you get the larger
0215 picture you will see the power. Let me show you another basic regular
0216 expression: <literal>a</literal>. The letter <literal>a</literal> on its
0217 own is a regular expression that matches a single letter, namely the
0218 letter <literal>a</literal>. If we combine this with the asterisk,
0219 &ie; <literal>a*</literal>, then we have a regular expression matching
0220 any number of a's.</para>
0221
0222 <para>We can combine several regular expression after each
0223 other, for example <literal>ba(na)*</literal>.
0224 <footnote><para><literal>(na)*</literal> just says that what is inside
0225 the parenthesis is repeated any number of times.</para></footnote>
0226 Imagine you had typed this regular expression into the search field in a
0227 text editor, then you would have found the following words (among
0228 others): <literal>ba</literal>, <literal>bana</literal>,
0229 <literal>banana</literal>, <literal>bananananananana</literal>
0230 </para>
0231
0232 <para>Given the information above, it hopefully isn't hard for you to write the
0233 shell wildcard <literal>test??.res</literal> as a regular expression.
0234 Answer: <literal>test..\.res</literal>. The dot on its own is any
0235 character. To match a single dot you must write
0236 <literal>\.</literal><footnote><para>This is called escaping</para></footnote>. In
0237 other word, the regular expression <literal>\.</literal> matches a dot,
0238 while a dot on its own matches any character. </para>
0239
0240 <para>In the regular expression editor, a repeated regular expression is
0241 created using the <link linkend="repeattool">repeat tool</link> </para>
0242 </example>
0243
0244 <example id="lookaheadregexp">
0245 <title>Replacing <literal>&</literal> with
0246 <literal>&amp;</literal> in a &HTML; document</title> <para>In
0247 &HTML; the special character <literal>&</literal> must be
0248 written as <literal>&amp;</literal> - this is similar to
0249 escaping in regular expressions.</para>
0250
0251 <para>Imagine that you have written an &HTML; document in a normal editor
0252 (e.g. &XEmacs; or &kate;), and you totally forgot about this rule. What you
0253 would do when realized your mistake was to replace every occurrences of
0254 <literal>&</literal> with <literal>&amp;</literal>.</para>
0255
0256 <para>This can easily be done using normal search and replace,
0257 there is, however, one glitch. Imagine that you did remember
0258 this rule - <emphasis>just a bit</emphasis> - and did it right
0259 in some places. Replacing unconditionally would result in
0260 <literal>&amp;</literal> being replaced with
0261 <literal>&amp;amp;</literal></para>
0262
0263 <para>What you really want to say is that <literal>&</literal> should
0264 only be replaced if it is <emphasis>not</emphasis> followed by the letters
0265 <literal>amp;</literal>. You can do this using regular expressions using
0266 <emphasis>positive lookahead</emphasis>. </para>
0267
0268 <para>The regular expression, which only matches an ampersand if it is
0269 not followed by the letters <literal>amp;</literal> looks as follows:
0270 <literal>&(?!amp;)</literal>. This is, of course, easier to read using
0271 the regular expression editor, where you would use the
0272 <link linkend="lookaheadtools">lookahead tools</link>.</para>
0273 </example>
0274
0275 </chapter>
0276
0277 <!-- ====================================================================== -->
0278 <!-- Using the Regular Expression Editor -->
0279 <!-- ====================================================================== -->
0280 <chapter id="theEditor">
0281 <title>Using the Regular Expression Editor</title>
0282
0283 <para>
0284 This chapter will tell you about how the regular expression editor works.
0285 </para>
0286
0287 <!-- ====================================================================== -->
0288 <!-- The organization of the screen -->
0289 <!-- ====================================================================== -->
0290 <sect1 id="screenorganization">
0291 <title>The organization of the screen</title>
0292
0293 <mediaobject>
0294 <imageobject><imagedata format="PNG" fileref="theEditor.png"/></imageobject>
0295 </mediaobject>
0296
0297 <para>The most important part of the editor is of course the editing
0298 area, this is the area where you draw your regular expression. This
0299 area is the larger gray one in the middle.</para>
0300
0301 <para>Above the editing area you have two Toolbars, the first one
0302 contains the <link linkend="editingtools">editing actions</link> -
0303 much like drawing tools in a drawing program. The second Toolbar
0304 contains the <emphasis>What's This?</emphasis> button, and buttons
0305 for undo and redo.</para>
0306
0307 <para>Below the editing area you find the regular expression
0308 currently build, in the so called ascii syntax. The ascii syntax
0309 is updated while you edit the regular expression in the graphical
0310 editor. If you rather want to update the ascii syntax then please
0311 do, the graphical editor is updated on the fly to reflect your
0312 changes.</para>
0313
0314 <para>Finally to the left of the editor area you will find a number
0315 of pre-built regular expressions. They serve two purposes: (1) When
0316 you load the editor with a regular expression then this regular
0317 expression is made <emphasis>nicer</emphasis> or more comprehensive
0318 by replacing common regular expressions. In the screen dump above,
0319 you can see how the ascii syntax ".*" have been replaced with a box
0320 saying "anything". (2) When you insert regular expression you may
0321 find building blocks for your own regular expression from the set of
0322 pre build regular expressions. See the section on
0323 <link linkend="userdefinedregexps">user defined regular
0324 expressions</link> to learn how to save your own regular expressions.</para>
0325 </sect1>
0326
0327 <!-- ====================================================================== -->
0328 <!-- Editing Tools -->
0329 <!-- ====================================================================== -->
0330 <sect1 id="editingtools">
0331 <title>Editing Tools</title>
0332 <para>The text in this section expects that you have read the chapter
0333 on <link linkend="whatIsARegExp">what a regular expression
0334 is</link>, or have previous knowledge on this subject.</para>
0335
0336 <para>All the editing tools are located in the toolbar above
0337 editing area. Each of them will be described in the following.</para>
0338
0339
0340
0341 <simplesect id="selecttool">
0342 <title>Selection Tool</title>
0343 <mediaobject>
0344 <imageobject><imagedata format="PNG" fileref="select.png"/>
0345 </imageobject></mediaobject>
0346 <para> The selection tool is used to
0347 mark elements for cut-and-paste and drag-and-drop. This is very
0348 similar to a selection tool in any drawing program.</para>
0349 </simplesect>
0350
0351
0352
0353 <simplesect id="texttool"><title>Text Tool</title>
0354 <mediaobject>
0355 <imageobject>
0356 <imagedata format="PNG" fileref="text.png"/>
0357 </imageobject></mediaobject>
0358
0359 <para><inlinemediaobject><imageobject>
0360 <imagedata format="PNG" fileref="texttool.png"/>
0361 </imageobject></inlinemediaobject></para>
0362
0363 <para>Using this tool you will insert normal text to match. The
0364 text is matched literally, &ie; you do not have to worry about
0365 escaping of special characters. In the example above the following
0366 regular expression will be build: <literal>abc\*\\\)</literal></para>
0367 </simplesect>
0368
0369
0370
0371 <simplesect id="characterstool"><title>Character Tool</title>
0372 <mediaobject><imageobject>
0373 <imagedata format="PNG" fileref="characters.png"/>
0374 </imageobject></mediaobject>
0375 <para><inlinemediaobject><imageobject>
0376 <imagedata format="PNG" fileref="charactertool.png"/>
0377 </imageobject></inlinemediaobject></para>
0378
0379 <para> Using this tool you insert
0380 character ranges. Examples includes what in ASCII text says
0381 <literal>[0-9]</literal>, <literal>[^a-zA-Z,_]</literal>. When
0382 inserting an item with this tool a dialog will appear, in which
0383 you specify the character ranges.</para>
0384
0385 <para>See description of <link linkend="repeatregexp">repeated
0386 regular expressions</link>.</para>
0387 </simplesect>
0388
0389
0390
0391 <simplesect id="anychartool"><title>Any Character Tool</title>
0392 <mediaobject><imageobject>
0393 <imagedata format="PNG" fileref="anychar.png"/>
0394 </imageobject></mediaobject>
0395 <para><inlinemediaobject><imageobject><imagedata format="PNG" fileref="anychartool.png"/>
0396 </imageobject></inlinemediaobject></para>
0397
0398 <para>This is the regular expression "dot" (.). It matches any
0399 single character.</para>
0400
0401
0402
0403 </simplesect>
0404
0405
0406
0407 <simplesect id="repeattool"><title>Repeat Tool</title>
0408 <mediaobject><imageobject>
0409 <imagedata format="PNG" fileref="repeat.png"/>
0410 </imageobject></mediaobject>
0411 <para><inlinemediaobject><imageobject>
0412 <imagedata format="PNG" fileref="repeattool.png"/>
0413 </imageobject></inlinemediaobject></para>
0414
0415 <para>This is the repeated
0416 elements. This includes what in ASCII syntax is represented
0417 using an asterix (*), a plus (+), a question mark (?), and
0418 ranges ({3,5}). When you insert an item using this tool, a
0419 dialog will appear asking for the number of times to
0420 repeat.</para>
0421
0422 <para>You specify what to repeat by drawing the repeated content
0423 inside the box which this tool inserts.</para>
0424
0425 <para>Repeated elements can both be built from the outside in and
0426 the inside
0427 out. That is you can first draw what to be repeated, select it
0428 and use the repeat tool to repeat it. Alternatively you can
0429 first insert the repeat element, and draw what is to be repeated
0430 inside it.</para>
0431
0432 <para>See description on the <link linkend="repeatregexp">repeated
0433 regular expressions</link>.</para>
0434 </simplesect>
0435
0436
0437
0438
0439 <simplesect id="altntool"><title>Alternative Tool</title>
0440 <mediaobject><imageobject>
0441 <imagedata format="PNG" fileref="altn.png"/>
0442 </imageobject></mediaobject>
0443 <para><inlinemediaobject><imageobject><imagedata format="PNG" fileref="altntool.png"/>
0444 </imageobject></inlinemediaobject></para>
0445
0446 <para>This is the alternative regular expression (|). You specify
0447 the alternatives by drawing each alternative on top of each other
0448 inside the box that this tool inserts.</para>
0449
0450 <para>See description on <link linkend="altnregexp">alternative
0451 regular expressions</link></para>
0452 </simplesect>
0453
0454
0455
0456
0457 <simplesect id="compoundtool"><title>Compound Tool</title>
0458 <mediaobject><imageobject>
0459 <imagedata format="PNG" fileref="compound.png"/>
0460 </imageobject></mediaobject>
0461 <para><inlinemediaobject><imageobject><imagedata format="PNG" fileref="compoundtool.png"/>
0462 </imageobject></inlinemediaobject></para>
0463
0464 <para>The compound tool does not represent any regular
0465 expressions. It is used to group other sub parts together in a
0466 box, which easily can be collapsed to only its title. This can be
0467 seen in the right part of the screen dump above.</para>
0468 </simplesect>
0469
0470
0471
0472
0473
0474 <simplesect id="positiontool"><title>Line Start/End Tools</title>
0475 <mediaobject><imageobject>
0476 <imagedata format="PNG" fileref="begline.png"/>
0477 </imageobject></mediaobject>
0478 <mediaobject><imageobject>
0479 <imagedata format="PNG" fileref="endline.png"/>
0480 </imageobject></mediaobject>
0481 <para><inlinemediaobject><imageobject><imagedata format="PNG" fileref="linestartendtool.png"/>
0482 </imageobject></inlinemediaobject></para>
0483
0484 <para>The line start and line end tools matches the start of the
0485 line, and the end of the line respectively. The regular
0486 expression in the screen dump above thus matches lines only
0487 matches spaces.</para>
0488
0489 <para>See description of <link linkend="positionregexp">position
0490 regular expressions</link>.</para>
0491 </simplesect>
0492
0493
0494
0495
0496
0497 <simplesect><title>Word (Non)Boundary Tools</title>
0498 <mediaobject><imageobject>
0499 <imagedata format="PNG" fileref="wordboundary.png"/>
0500 </imageobject></mediaobject>
0501 <mediaobject><imageobject><imagedata format="PNG" fileref="nonwordboundary.png"/>
0502 </imageobject></mediaobject>
0503 <para><inlinemediaobject><imageobject><imagedata format="PNG" fileref="boundarytools.png"/>
0504 </imageobject></inlinemediaobject></para>
0505
0506 <para>The boundary tools matches a word boundary respectively a
0507 non-word boundary. The regular expression in the screen dump thus
0508 matches any words starting with <literal>the</literal>. The word
0509 <literal>the</literal> itself is, however, not matched.</para>
0510
0511 <para>See description of <link linkend="boundaryregexp">boundary
0512 regular expressions</link>.</para>
0513 </simplesect>
0514
0515
0516
0517
0518
0519 <simplesect id="lookaheadtools"><title>Positive/Negative Lookahead
0520 Tools</title>
0521 <mediaobject><imageobject> <imagedata format="PNG" fileref="poslookahead.png"/>
0522 </imageobject></mediaobject>
0523 <mediaobject><imageobject> <imagedata format="PNG" fileref="neglookahead.png"/>
0524 </imageobject></mediaobject>
0525
0526 <para><inlinemediaobject><imageobject> <imagedata format="PNG" fileref="lookaheadtools.png"/>
0527 </imageobject></inlinemediaobject></para>
0528
0529 <para>The look ahead tools either specify a positive or negative
0530 regular expression to match. The match is, however, not part of
0531 the total match.</para>
0532
0533 <para>Note: You are only allowed to place lookaheads at the end
0534 of the regular expressions. The Regular Expression Editor widget
0535 does not enforce this.</para>
0536
0537 <para>See description of <link linkend="lookaheadregexp">look ahead
0538 regular expressions</link>.</para>
0539 </simplesect>
0540 </sect1>
0541
0542 <!-- ====================================================================== -->
0543 <!-- User Defined Regular Expressions -->
0544 <!-- ====================================================================== -->
0545 <sect1 id="userdefinedregexps">
0546 <title>User Defined Regular Expressions</title>
0547 <para>Located at the left of the editing area is a list box
0548 containing user defined regular expressions. Some regular
0549 expressions are pre-installed with your &kde; installation, while
0550 others you can save yourself.</para>
0551
0552 <para>These regular expression serves two purposes
0553 (<link linkend="screenorganization">see detailed
0554 description</link>), namely (1) to offer you a set of building
0555 block and (2) to make common regular expressions prettier.</para>
0556
0557 <para>You can save your own regular expressions by right clicking the
0558 mouse button in the editing area, and choosing <literal>Save Regular
0559 Expression</literal>.</para>
0560
0561 <para>If the regular expression you save is within a
0562 <link linkend="compoundtool">compound container</link> then the
0563 regular expression will take part in making subsequent regular
0564 expressions prettier.</para>
0565
0566 <para>User defined regular expressions can be deleted or renamed by
0567 pressing the right mouse button on top of the regular expression in
0568 question in the list box.</para>
0569 </sect1>
0570 </chapter>
0571
0572 <!-- ====================================================================== -->
0573 <!-- Reporting a bug and Suggesting Features -->
0574 <!-- ====================================================================== -->
0575 <chapter id="bugreport">
0576 <title>Reporting bugs and Suggesting Features</title>
0577 <para>Bug reports and feature requests should be submitted through the
0578 <ulink url="http://bugs.kde.org/">&kde; Bug Tracking System</ulink>.
0579 <emphasis role="strong">Before</emphasis> you report a bug or suggest a feature,
0580 please check that it hasn't already been
0581 <ulink url="http://bugs.kde.org/buglist.cgi?quicksearch=kregexpeditor">reported/suggested.</ulink></para>
0582 </chapter>
0583
0584 <!-- ====================================================================== -->
0585 <!-- FAQ -->
0586 <!-- ====================================================================== -->
0587 <chapter id="faq">
0588 <title>Frequently Asked Questions</title>
0589 <sect1 id="question1">
0590 <title>Does the regular expression editor support back references?</title>
0591 <para>No currently this is not supported. It is planned for the next
0592 version.</para>
0593 </sect1>
0594
0595 <sect1 id="question2">
0596 <title>Does the regular expression editor support showing matches?</title>
0597 <para>No, hopefully this will be available in the next version.</para>
0598 </sect1>
0599
0600 <sect1 id="question3">
0601 <title>I'm the author of a &kde; program, how can I use this widget in
0602 my application?</title>
0603 <para>See <ulink
0604 url="http://developer.kde.org/documentation/library/cvs-api/classref/interfaces/KRegExpEditorInterface.html">The documentation for the class KRegExpEditorInterface</ulink>.</para>
0605 </sect1>
0606
0607 <sect1 id="question4">
0608 <title>I cannot find the <emphasis>Edit Regular expression</emphasis> button in for example
0609 konqueror on another KDE3 installation, why?</title>
0610 <para>The regular expression widget is located in the package
0611 &kde;-utils. If you do not have this package installed, then the
0612 <emphasis>edit regular expressions</emphasis> buttons will not
0613 appear in the programs.</para>
0614 </sect1>
0615 </chapter>
0616
0617 <!-- ====================================================================== -->
0618 <!-- Credits and Licenses -->
0619 <!-- ====================================================================== -->
0620 <chapter id="credits-and-license">
0621 <title>Credits and License</title>
0622
0623 <para>
0624 Documentation is copyright 2001, Jesper K. Pedersen &Jesper.Pedersen.mail;
0625 </para>
0626
0627
0628 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
0629 &underFDL;
0630 &underGPL;
0631
0632 </chapter>
0633
0634
0635 </book>
0636
0637 <!-- Keep this comment at the end of the file
0638 Local variables:
0639 mode: sgml
0640 sgml-omittag:t
0641 sgml-shorttag:t
0642 sgml-namecase-general:t
0643 sgml-general-insert-case:lower
0644 sgml-minimize-attributes:nil
0645 sgml-always-quote-attributes:t
0646 sgml-indent-step:2
0647 sgml-indent-data:t
0648 sgml-parent-document:nil
0649 sgml-exposed-tags:nil
0650 sgml-local-catalogs:nil
0651 sgml-local-ecat-files:nil
0652 End:
0653 -->