<?xml version="1.0" encoding="UTF-8"?> <helpdocument version="1.0"> <!-- * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * --> <meta> <topic id="calcfuncregex" indexer="include" status="PUBLISH"> <title id="tit" xml-lang="en-US">REGEX Function</title> <filename>/text/scalc/01/func_regex.xhp</filename> </topic> </meta> <body> <section id="func_regex"> <bookmark id="bm_id61542230672099" xml-lang="en-US" branch="hid/SC_HID_FUNC_REGEX" localize="false"/> <bookmark xml-lang="en-US" branch="index" id="bm_id831542233029549"> <bookmark_value>REGEX function</bookmark_value> <bookmark_value>regular expressions;extracting in spreadsheets</bookmark_value> <bookmark_value>regular expressions;REGEX function</bookmark_value> </bookmark> <h1 id="hd_id961542230672100"><link href="text/scalc/01/func_regex.xhp">REGEX</link></h1> <paragraph id="par_id541542230672101" role="paragraph" xml-lang="en-US"><variable id="func_regex_desc"><ahelp hid=".">Matches and extracts or optionally replaces text using regular expressions.</ahelp></variable></paragraph> </section> <embed href="text/scalc/01/ful_func.xhp#func_head_syntax"/> <paragraph role="code" id="par_id701542231253817" xml-lang="en-US">REGEX( Text ; Expression [ ; [ Replacement ] [ ; Flags|Occurrence ] ] )</paragraph> <paragraph role="paragraph" id="par_id621542232197446" xml-lang="en-US"><emph>Text</emph>: A text or reference to a cell where the regular expression is to be applied.</paragraph> <paragraph role="paragraph" id="par_id211542232209275" xml-lang="en-US"><emph>Expression</emph>: A text representing the regular expression, using <link href="https://unicode-org.github.io/icu/userguide/strings/regexp.html#regular-expression-metacharacters">ICU regular expressions</link>. If there is no match and <emph>Replacement</emph> is not given, #N/A is returned.</paragraph> <paragraph role="paragraph" id="par_id581542232755604" xml-lang="en-US"><emph>Replacement</emph>: Optional. The replacement text and references to capture groups. If there is no match, <emph>Text</emph> is returned unmodified.</paragraph> <paragraph role="paragraph" id="par_id421542232246840" xml-lang="en-US"><emph>Flags</emph>: Optional. "g" replaces all matches of <emph>Expression</emph> in <emph>Text</emph>, not extracted. If there is no match, <emph>Text</emph> is returned unmodified.</paragraph> <paragraph role="paragraph" id="par_id421542232246841" xml-lang="en-US"><emph>Occurrence</emph>: Optional. Number to indicate which match of <emph>Expression</emph> in <emph>Text</emph> is to be extracted or replaced. If there is no match and <emph>Replacement</emph> is not given, #N/A is returned. If there is no match and <emph>Replacement</emph> is given, <emph>Text</emph> is returned unmodified. If <emph>Occurrence</emph> is 0, <emph>Text</emph> is returned unmodified.</paragraph> <embed href="text/scalc/01/ful_func.xhp#func_head_example"/> <paragraph role="paragraph" id="par_id371542291684176" xml-lang="en-US"><item type="input">=REGEX("123456ABCDEF";"[:digit:]";"Z")</item> returns "Z23456ABCDEF", where the first match of a digit is replaced by "Z".</paragraph> <paragraph role="paragraph" id="par_id891542291697194" xml-lang="en-US"><item type="input">=REGEX("123456ABCDEF";"[:digit:]";"Z";"g")</item> returns "ZZZZZZABCDEF", where all digits were replaced by "Z".</paragraph> <paragraph role="paragraph" id="par_id21542291705695" xml-lang="en-US"><item type="input">=REGEX("123456ABCDEF";"[126]";"";"g")</item> returns "345ABCDEF", where any occurrence of "1", "2" or "6" is replaced by the empty string, thus deleted. </paragraph> <paragraph role="paragraph" id="par_id371542291684177" xml-lang="en-US"><item type="input">=REGEX("axbxcxd";".x";;2)</item> returns "bx", the second match of ".x".</paragraph> <paragraph role="paragraph" id="par_id371542291684178" xml-lang="en-US"><item type="input">=REGEX("axbxcxd";"(.)x";"$1y";2)</item> returns "axbycxd", the second match of "(.)x" (i.e. "bx") replaced with the captured group of one character (i.e. "b") followed by "y".</paragraph> <embed href="text/scalc/01/common_func.xhp#sectiontechinfo"/> <embed href="text/scalc/00/avail_release.xhp#6.2"/> <embed href="text/scalc/01/common_func.xhp#notODFF"/> <paragraph role="paragraph" id="par_id311640873986703" localize="false"><literal>ORG.LIBREOFFICE.REGEX</literal></paragraph> <section id="relatedtopics"> <tip id="par_id631677014948784"><link href="https://wiki.documentfoundation.org/Documentation/Calc_Functions/REGEX">REGEX wiki page</link>.</tip> <paragraph role="paragraph" id="par_id711542233602553" xml-lang="en-US"><link href="text/shared/01/02100001.xhp">List of regular expressions</link></paragraph> <paragraph role="paragraph" id="par_id431542233650614" xml-lang="en-US"><link href="https://unicode-org.github.io/icu/userguide/strings/regexp.html">ICU regular expressions</link></paragraph> <paragraph role="paragraph" id="par_id81634670394769" localize="false"><embedvar href="text/scalc/01/04060110.xhp#head_text"/></paragraph> </section> </body> </helpdocument>