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 -->