1<?xml version="1.0" encoding="UTF-8"?> 2<helpdocument version="1.0"> 3 4<!-- 5*********************************************************************** 6 * 7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8 * 9 * Copyright 2000, 2010 Oracle and/or its affiliates. 10 * 11 * OpenOffice.org - a multi-platform office productivity suite 12 * 13 * This file is part of OpenOffice.org. 14 * 15 * OpenOffice.org is free software: you can redistribute it and/or modify 16 * it under the terms of the GNU Lesser General Public License version 3 17 * only, as published by the Free Software Foundation. 18 * 19 * OpenOffice.org is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 * GNU Lesser General Public License version 3 for more details 23 * (a copy is included in the LICENSE file that accompanied this code). 24 * 25 * You should have received a copy of the GNU Lesser General Public License 26 * version 3 along with OpenOffice.org. If not, see 27 * <http://www.openoffice.org/license.html> 28 * for a copy of the LGPLv3 License. 29 * 30 ************************************************************************ 31 --> 32 33 34<meta> 35 <topic id="textshared0102100001xml" indexer="include" status="PUBLISH"> 36 <title xml-lang="en-US" id="tit">List of Regular Expressions</title> 37 <filename>/text/shared/01/02100001.xhp</filename> 38 </topic> 39 </meta> 40 <body> 41<bookmark xml-lang="en-US" branch="index" id="bm_id3146765"><bookmark_value>regular expressions; list of</bookmark_value> 42 <bookmark_value>lists;regular expressions</bookmark_value> 43 <bookmark_value>replacing;tab stops (regular expressions)</bookmark_value> 44 <bookmark_value>tab stops;regular expressions</bookmark_value> 45 <bookmark_value>concatenation, see ampersand symbol</bookmark_value> 46 <bookmark_value>ampersand symbol, see also operators</bookmark_value> 47</bookmark><comment>mw added "replacing;" and "tab stops;"</comment> 48<paragraph xml-lang="en-US" id="hd_id3146765" role="heading" level="1" l10n="U" 49 oldref="203"><variable id="02100001"><link href="text/shared/01/02100001.xhp">List of Regular Expressions</link> 50</variable></paragraph> 51 <table id="tbl_id3149517"> 52 <tablerow> 53 <tablecell> 54 <paragraph xml-lang="en-US" id="par_id3149741" role="tablehead" l10n="U" oldref="17">Character</paragraph> 55 </tablecell> 56 <tablecell> 57 <paragraph xml-lang="en-US" id="par_id3155577" role="tablehead" l10n="U" oldref="18">Result/Use</paragraph> 58 </tablecell> 59 </tablerow> 60 <tablerow> 61 <tablecell> 62 <paragraph xml-lang="en-US" id="par_id6600543" role="tablecontent" l10n="NEW">Any character</paragraph> 63 </tablecell> 64 <tablecell> 65 <paragraph xml-lang="en-US" id="par_id9824518.00000001" role="tablecontent" l10n="CHG">Represents the given character unless otherwise specified.</paragraph> 66 </tablecell> 67 </tablerow> 68 <tablerow> 69 <tablecell> 70 <paragraph xml-lang="en-US" id="par_id3152427" role="tablecontent" l10n="U" oldref="19">.</paragraph> 71 </tablecell> 72 <tablecell> 73 <paragraph xml-lang="en-US" id="par_id3149031" role="tablecontent" l10n="CHG" oldref="20">Represents any single character except for a line break or paragraph break. For example, the search term "sh.rt" returns both "shirt" and "short".</paragraph> 74 </tablecell> 75 </tablerow> 76 <tablerow> 77 <tablecell> 78 <paragraph xml-lang="en-US" id="par_id3154682" role="tablecontent" l10n="CHG" oldref="21">^</paragraph> 79 </tablecell> 80 <tablecell> 81 <paragraph xml-lang="en-US" id="par_id3155351" role="tablecontent" l10n="CHG" oldref="22">Only finds the search term if the term is at the beginning of a paragraph. Special objects such as empty fields or character-anchored frames, at the beginning of a paragraph are ignored. Example: "^Peter".</paragraph> 82 </tablecell> 83 </tablerow> 84 <tablerow> 85 <tablecell> 86 <paragraph xml-lang="en-US" id="par_id3159194" role="tablecontent" l10n="CHG" oldref="23">$</paragraph> 87 </tablecell> 88 <tablecell> 89 <paragraph xml-lang="en-US" id="par_id3152542" role="tablecontent" l10n="CHG" oldref="24">Only finds the search term if the term appears at the end of a paragraph. Special objects such as empty fields or character-anchored frames at the end of a paragraph are ignored. Example: "Peter$".</paragraph> 90 </tablecell> 91 </tablerow> 92 <tablerow> 93 <tablecell> 94 <paragraph xml-lang="en-US" id="par_id3156414" role="tablecontent" l10n="U" oldref="25">*</paragraph> 95 </tablecell> 96 <tablecell> 97 <paragraph xml-lang="en-US" id="par_id3155555" role="tablecontent" l10n="CHG" oldref="26">Finds zero or more of the characters in front of the "*". For example, "Ab*c" finds "Ac", "Abc", "Abbc", "Abbbc", and so on.</paragraph> 98 </tablecell> 99 </tablerow> 100 <tablerow> 101 <tablecell> 102 <paragraph xml-lang="en-US" id="par_id3147399" role="tablecontent" l10n="U" oldref="27">+</paragraph> 103 </tablecell> 104 <tablecell> 105 <paragraph xml-lang="en-US" id="par_id3157958" role="tablecontent" l10n="CHG" oldref="28">Finds one or more of the characters in front of the "+". For example, "AX.+4" finds "AXx4", but not "AX4".</paragraph> 106 <paragraph xml-lang="en-US" id="par_id3145313" role="tablecontent" l10n="U" oldref="207">The longest possible string that matches this search pattern in a paragraph is always found. If the paragraph contains the string "AX 4 AX4", the entire passage is highlighted.</paragraph> 107 </tablecell> 108 </tablerow> 109 <tablerow> 110 <tablecell> 111 <paragraph xml-lang="en-US" id="par_id3143267" role="tablecontent" l10n="U" oldref="199">?</paragraph> 112 </tablecell> 113 <tablecell> 114 <paragraph xml-lang="en-US" id="par_id3153684" role="tablecontent" l10n="CHG" oldref="200">Finds zero or one of the characters in front of the "?". For example, "Texts?" finds "Text" and "Texts" and "x(ab|c)?y" finds "xy", "xaby", or "xcy".</paragraph> 115 </tablecell> 116 </tablerow> 117 <tablerow> 118 <tablecell> 119 <paragraph xml-lang="en-US" id="par_id3166410" role="tablecontent" l10n="U" oldref="158">\</paragraph> 120 </tablecell> 121 <tablecell> 122 <paragraph xml-lang="en-US" id="par_id3147209" role="tablecontent" l10n="CHG" oldref="159">Search interprets the special character that follows the "\" as a normal character and not as a regular expression (except for the combinations \n, \t, \>, and \<). For example, "tree\." finds "tree.", not "treed" or "trees".</paragraph> 123 </tablecell> 124 </tablerow> 125 <tablerow> 126 <tablecell> 127 <paragraph xml-lang="en-US" id="par_id3152945" role="tablecontent" l10n="U" oldref="166">\n</paragraph> 128 </tablecell> 129 <tablecell> 130 <paragraph xml-lang="en-US" id="par_id3153700" role="tablecontent" l10n="CHG" oldref="167">Represents a line break that was inserted with the Shift+Enter key combination. To change a line break into a paragraph break, enter <emph>\n</emph> in the <emph>Search for</emph> and <emph>Replace with</emph> boxes, and then perform a search and replace.</paragraph> 131 <paragraph xml-lang="en-US" id="par_id9262672" role="tablecontent" l10n="NEW">\n in the <emph>Search for</emph> text box stands for a line break that was inserted with the Shift+Enter key combination.</paragraph> 132 <paragraph xml-lang="en-US" id="par_id2366100" role="tablecontent" l10n="NEW">\n in the <emph>Replace with</emph> text box stands for a paragraph break that can be entered with the Enter or Return key.</paragraph> 133 </tablecell> 134 </tablerow> 135 <tablerow> 136 <tablecell> 137 <paragraph xml-lang="en-US" id="par_id3153258" role="tablecontent" l10n="U" oldref="29">\t</paragraph> 138 </tablecell> 139 <tablecell> 140 <paragraph xml-lang="en-US" id="par_id3157809" role="tablecontent" l10n="CHG" oldref="30">Represents a tab. You can also use this expression in the <emph>Replace with</emph> box.</paragraph> 141 </tablecell> 142 </tablerow> 143 <tablerow> 144 <tablecell> 145 <paragraph xml-lang="en-US" id="par_id3146775" role="tablecontent" l10n="U" oldref="33">\W</paragraph> 146 </tablecell> 147 <tablecell> 148 <paragraph xml-lang="en-US" id="par_id3148644" role="tablecontent" l10n="U" oldref="34">Match a non-word character. For example, "book\W" finds "checkbook", but not "bookmark".</paragraph> 149 </tablecell> 150 </tablerow> 151 <tablerow> 152 <tablecell> 153 <paragraph xml-lang="en-US" id="par_id3150670" role="tablecontent" l10n="U" oldref="35">\b</paragraph> 154 </tablecell> 155 <tablecell> 156 <paragraph xml-lang="en-US" id="par_id3153666" role="tablecontent" l10n="CHG" oldref="36">Only finds the search term if it appears at the beginning of a word. For example, "\bbook" finds "bookmark", but not "checkbook".</paragraph> 157 </tablecell> 158 </tablerow> 159 <tablerow> 160 <tablecell> 161 <paragraph xml-lang="en-US" id="par_id3149576" role="tablecontent" l10n="U" oldref="37">^$</paragraph> 162 </tablecell> 163 <tablecell> 164 <paragraph xml-lang="en-US" id="par_id3151245" role="tablecontent" l10n="CHG" oldref="38">Finds an empty paragraph.</paragraph> 165 </tablecell> 166 </tablerow> 167 <tablerow> 168 <tablecell> 169 <paragraph xml-lang="en-US" id="par_id3148550" role="tablecontent" l10n="U" oldref="41">^.</paragraph> 170 </tablecell> 171 <tablecell> 172 <paragraph xml-lang="en-US" id="par_id3159413" role="tablecontent" l10n="CHG" oldref="42">Finds the first character of a paragraph.</paragraph> 173 </tablecell> 174 </tablerow> 175 <tablerow> 176 <tablecell> 177 <paragraph xml-lang="en-US" id="par_id3147282" role="tablecontent" l10n="CHG" oldref="43">& or $0</paragraph> 178 </tablecell> 179 <tablecell> 180 <paragraph xml-lang="en-US" id="par_id3153961" role="tablecontent" l10n="CHG" oldref="44">Adds the string that was found by the search criteria in the <emph>Search for</emph> box to the term in the <emph>Replace with</emph> box when you make a replacement.</paragraph> 181 <paragraph xml-lang="en-US" id="par_id3149650" role="tablecontent" l10n="CHG" oldref="201">For example, if you enter "window" in the <emph>Search for</emph> box and "&frame" in the <emph>Replace with</emph> box, the word "window" is replaced with "windowframe".</paragraph> 182 <paragraph xml-lang="en-US" id="par_id3150543" role="tablecontent" l10n="CHG" oldref="206">You can also enter an "&" in the <emph>Replace with</emph> box to modify the <emph>Attributes</emph> or the <emph>Format</emph> of the string found by the search criteria.</paragraph> 183 </tablecell> 184 </tablerow> 185 <tablerow> 186 <tablecell> 187 <paragraph xml-lang="en-US" id="par_id3145419" role="tablecontent" l10n="U" oldref="172">[abc123]</paragraph> 188 </tablecell> 189 <tablecell> 190 <paragraph xml-lang="en-US" id="par_id3154630" role="tablecontent" l10n="CHG" oldref="173">Represents one of the characters that are between the brackets.</paragraph> 191 </tablecell> 192 </tablerow> 193 <tablerow> 194 <tablecell> 195 <paragraph xml-lang="en-US" id="par_id3156293" role="tablecontent" l10n="U" oldref="174">[a-e]</paragraph> 196 </tablecell> 197 <tablecell> 198 <paragraph xml-lang="en-US" id="par_id3149167" role="tablecontent" l10n="CHG" oldref="175">Represents any of the characters that are between a and e, including both start and end characters</paragraph> 199 <paragraph xml-lang="en-US" id="par_id100520090232005" role="tablecontent" l10n="NEW">The characters are ordered by their code numbers.</paragraph> 200 </tablecell> 201 </tablerow> 202 <tablerow> 203 <tablecell> 204 <paragraph xml-lang="en-US" id="par_id3155994" role="tablecontent" l10n="U" oldref="176">[a-eh-x]</paragraph> 205 </tablecell> 206 <tablecell> 207 <paragraph xml-lang="en-US" id="par_id3148676" role="tablecontent" l10n="CHG" oldref="177">Represents any of the characters that are between a-e and h-x.</paragraph> 208 </tablecell> 209 </tablerow> 210 <tablerow> 211 <tablecell> 212 <paragraph xml-lang="en-US" id="par_id3145318" role="tablecontent" l10n="U" oldref="178">[^a-s]</paragraph> 213 </tablecell> 214 <tablecell> 215 <paragraph xml-lang="en-US" id="par_id3153351" role="tablecontent" l10n="CHG" oldref="179">Represents everything that is not between a and s.</paragraph> 216 </tablecell> 217 </tablerow> 218 <tablerow> 219 <tablecell> 220 <paragraph xml-lang="en-US" id="par_id3156543" role="tablecontent" l10n="U" oldref="180">\xXXXX</paragraph> 221 </tablecell> 222 <tablecell> 223 <paragraph xml-lang="en-US" id="par_id3153768" role="tablecontent" l10n="U" oldref="181">Represents a special character based on its four-digit hexadecimal code (XXXX).</paragraph> 224 <paragraph xml-lang="en-US" id="par_id3159252" role="tablecontent" l10n="U" oldref="208">The code for the special character depends on the font used. You can view the codes by choosing <emph>Insert - Special Character</emph>.</paragraph> 225 </tablecell> 226 </tablerow> 227 <tablerow> 228 <tablecell> 229 <paragraph xml-lang="en-US" id="par_id3153951" role="tablecontent" l10n="U" oldref="186">|</paragraph> 230 </tablecell> 231 <tablecell> 232 <paragraph xml-lang="en-US" id="par_id3154985" role="tablecontent" l10n="CHG" oldref="187">Finds the terms that occur before the "|" and also finds the terms that occur after the "|". For example, "this|that" finds "this" and "that".</paragraph> 233 </tablecell> 234 </tablerow> 235 <tablerow> 236 <tablecell> 237 <paragraph xml-lang="en-US" id="par_id3147376" role="tablecontent" l10n="U" oldref="209">{2}</paragraph> 238 </tablecell> 239 <tablecell> 240 <paragraph xml-lang="en-US" id="par_id3150103" role="tablecontent" l10n="U" oldref="210">Defines the number of times that the character in front of the opening bracket occurs. For example, "tre{2}" finds and selects "tree".</paragraph> 241 </tablecell> 242 </tablerow> 243 <tablerow> 244 <tablecell> 245 <paragraph xml-lang="en-US" id="par_id3151289" role="tablecontent" l10n="U" oldref="211">{1,2}</paragraph> 246 </tablecell> 247 <tablecell> 248 <paragraph xml-lang="en-US" id="par_id3147317" role="tablecontent" l10n="CHG" oldref="212">Defines the minimum and maximum number of times that the character in front of the opening bracket can occur. For example, "tre{1,2}" finds and selects "tre" and "tree".</paragraph> 249 </tablecell> 250 </tablerow> 251 <tablerow> 252 <tablecell> 253 <paragraph xml-lang="en-US" id="par_id4870754" role="tablecontent" l10n="NEW">{1,}</paragraph> 254 </tablecell> 255 <tablecell> 256 <paragraph xml-lang="en-US" id="par_id843836" role="tablecontent" l10n="NEW">Defines the minimum number of times that the character in front of the opening bracket can occur. For example, "tre{2,}" finds "tree", "treee", and "treeeee".</paragraph> 257 </tablecell> 258 </tablerow> 259 <tablerow> 260 <tablecell> 261 <paragraph xml-lang="en-US" id="par_id3148616" role="tablecontent" l10n="U" oldref="213">( )</paragraph> 262 </tablecell> 263 <tablecell> 264 <paragraph xml-lang="en-US" id="par_id2701803" role="tablecontent" l10n="NEW">In the <emph>Search for</emph> box:</paragraph> 265 <paragraph xml-lang="en-US" id="par_id3153573" role="tablecontent" l10n="CHG" oldref="214">Defines the characters inside the parentheses as a reference. You can then refer to the first reference in the current expression with "\1", to the second reference with "\2", and so on.</paragraph> 266 <paragraph xml-lang="en-US" id="par_id3156061" role="tablecontent" l10n="U" oldref="215">For example, if your text contains the number 13487889 and you search using the regular expression (8)7\1\1, "8788" is found.</paragraph> 267 <paragraph xml-lang="en-US" id="par_id2367931" role="tablecontent" l10n="NEW">You can also use () to group terms, for example, "a(bc)?d" finds "ad" or "abcd".</paragraph> 268 <paragraph xml-lang="en-US" id="par_id9200109" role="tablecontent" l10n="NEW">In the <emph>Replace with</emph> box:<comment>i83322</comment></paragraph> 269 <paragraph xml-lang="en-US" id="par_id5766472" role="tablecontent" l10n="NEW">Use $ (dollar) instead of \ (backslash) to replace references. Use $0 to replace the whole found string.</paragraph> 270 </tablecell> 271 </tablerow> 272 <tablerow> 273 <tablecell> 274 <paragraph xml-lang="en-US" id="par_id3154790" role="tablecontent" l10n="U" oldref="226">[:alpha:]</paragraph> 275 </tablecell> 276 <tablecell> 277 <paragraph xml-lang="en-US" id="par_id3147397" role="tablecontent" l10n="CHG" oldref="227">Represents an alphabetic character. Use [:alpha:]+ to find one of them.</paragraph> 278 </tablecell> 279 </tablerow> 280 <tablerow> 281 <tablecell> 282 <paragraph xml-lang="en-US" id="par_id3152885" role="tablecontent" l10n="U" oldref="216">[:digit:]</paragraph> 283 </tablecell> 284 <tablecell> 285 <paragraph xml-lang="en-US" id="par_id3150010" role="tablecontent" l10n="CHG" oldref="217">Represents a decimal digit. Use [:digit:]+ to find one of them.</paragraph> 286 </tablecell> 287 </tablerow> 288 <tablerow> 289 <tablecell> 290 <paragraph xml-lang="en-US" id="par_id3153743" role="tablecontent" l10n="U" oldref="224">[:alnum:]</paragraph> 291 </tablecell> 292 <tablecell> 293 <paragraph xml-lang="en-US" id="par_id3153281" role="tablecontent" l10n="CHG" oldref="225">Represents an alphanumeric character ([:alpha:] and [:digit:]).</paragraph> 294 </tablecell> 295 </tablerow> 296 <tablerow> 297 <tablecell> 298 <paragraph xml-lang="en-US" id="par_id3153726" role="tablecontent" l10n="U" oldref="218">[:space:]</paragraph> 299 </tablecell> 300 <tablecell> 301 <paragraph xml-lang="en-US" id="par_id3150961" role="tablecontent" l10n="CHG" oldref="219">Represents a space character (but not other whitespace characters).<comment>UFI: see #i41706#</comment></paragraph> 302 </tablecell> 303 </tablerow> 304 <tablerow> 305 <tablecell> 306 <paragraph xml-lang="en-US" id="par_id3150486" role="tablecontent" l10n="U" oldref="220">[:print:]</paragraph> 307 </tablecell> 308 <tablecell> 309 <paragraph xml-lang="en-US" id="par_id3150872" role="tablecontent" l10n="CHG" oldref="221">Represents a printable character.</paragraph> 310 </tablecell> 311 </tablerow> 312 <tablerow> 313 <tablecell> 314 <paragraph xml-lang="en-US" id="par_id3155854" role="tablecontent" l10n="U" oldref="222">[:cntrl:]</paragraph> 315 </tablecell> 316 <tablecell> 317 <paragraph xml-lang="en-US" id="par_id3152576" role="tablecontent" l10n="CHG" oldref="223">Represents a nonprinting character.</paragraph> 318 </tablecell> 319 </tablerow> 320 <tablerow> 321 <tablecell> 322 <paragraph xml-lang="en-US" id="par_id3149958" role="tablecontent" l10n="U" oldref="228">[:lower:]</paragraph> 323 </tablecell> 324 <tablecell> 325 <paragraph xml-lang="en-US" id="par_id3145730" role="tablecontent" l10n="CHG" oldref="229">Represents a lowercase character if <emph>Match case</emph> is selected in <emph>Options</emph>.</paragraph> 326 </tablecell> 327 </tablerow> 328 <tablerow> 329 <tablecell> 330 <paragraph xml-lang="en-US" id="par_id3148455" role="tablecontent" l10n="U" oldref="230">[:upper:]</paragraph> 331 </tablecell> 332 <tablecell> 333 <paragraph xml-lang="en-US" id="par_id3150092" role="tablecontent" l10n="CHG" oldref="231">Represents an uppercase character if <emph>Match case</emph> is selected in <emph>Options.</emph> 334 </paragraph> 335 </tablecell> 336 </tablerow> 337 </table> 338 339 <paragraph xml-lang="en-US" id="hd_id5311441" role="heading" level="2" l10n="NEW">Examples</paragraph> 340 341<paragraph xml-lang="en-US" id="par_id956834773" role="paragraph" l10n="NEW">e([:digit:])? -- finds 'e' followed by zero or one digit. Note that currently all named character classes like [:digit:] must be enclosed in parentheses.<comment>issue 64368 and 113035</comment></paragraph> 342<paragraph xml-lang="en-US" id="par_id952368773" role="paragraph" l10n="NEW">^([:digit:])$ -- finds lines or cells with exactly one digit.</paragraph> 343 344 345 <paragraph xml-lang="en-US" id="par_id9568773" role="paragraph" l10n="NEW">You can combine the search terms to form complex searches.</paragraph> 346 <paragraph xml-lang="en-US" id="hd_id71413" role="heading" level="3" l10n="NEW">To find three-digit numbers alone in a paragraph</paragraph> 347 <paragraph xml-lang="en-US" id="par_id2924283" role="code" l10n="NEW">^[:digit:]{3}$</paragraph> 348 <paragraph xml-lang="en-US" id="par_id5781731" role="paragraph" l10n="NEW">^ means the match has to be at the start of a paragraph, </paragraph> 349 <paragraph xml-lang="en-US" id="par_id6942045" role="paragraph" l10n="NEW">[:digit:] matches any decimal digit, </paragraph> 350 <paragraph xml-lang="en-US" id="par_id4721823" role="paragraph" l10n="NEW">{3} means there must be exactly 3 copies of "digit", </paragraph> 351 <paragraph xml-lang="en-US" id="par_id5806756" role="paragraph" l10n="NEW">$ means the match must end a paragraph. </paragraph> 352 <section id="relatedtopics"> 353 <embed href="text/shared/01/02100000.xhp#02100000"/> 354<switch select="appl"> 355<case select="WRITER"><embed href="text/swriter/guide/search_regexp.xhp#search_regexp"/> 356 <embed href="text/swriter/guide/finding.xhp#finding"/> 357</case> 358</switch> 359<paragraph xml-lang="en-US" id="par_id1751457" role="paragraph" l10n="NEW"><link href="http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Regular_Expressions_in_Writer">Wiki page about regular expressions in Writer</link></paragraph> 360 <paragraph xml-lang="en-US" id="par_id5483870" role="paragraph" l10n="NEW"><link href="http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Regular_Expressions_in_Calc">Wiki page about regular expressions in Calc</link></paragraph> 361 </section> 362 </body> 363</helpdocument> 364