<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: regexp_instr - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: regexp_instr - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: regexp_instr - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="fn_regexp_instr" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - regexp_instr</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_regexp_replace.html" title="regexp_replace">Prev</a> | <a class="link" href="fn_regexp_like.html" title="regexp_like">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a href="functions.html#array">Array Manipulation</a> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a href="functions.html#file">File Manipulation</a> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a href="functions.html#mail">Mail</a> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a class="selected" href="functions.html#string">String</a> </div> <div class="selected"> <div> <a href="fn_ascii.html">ascii</a> </div> <div> <a href="fn_blob_to_string.html">blob_to_string</a> </div> <div> <a href="fn_blob_to_string_output.html">blob_to_string_outpu...</a> </div> <div> <a href="fn_chr.html">chr</a> </div> <div> <a href="fn_ends_with.html">ends_with</a> </div> <div> <a href="fn_initcap.html">initcap</a> </div> <div> <a href="fn_isblob.html">isblob</a> </div> <div> <a href="fn_isstring.html">isstring</a> </div> <div> <a href="fn_lcase.html">lcase</a> </div> <div> <a href="fn_left.html">left</a> </div> <div> <a href="fn_length.html">length</a> </div> <div> <a href="fn_locate.html">locate</a> </div> <div> <a href="fn_ltrim.html">ltrim</a> </div> <div> <a href="fn_make_string.html">make_string</a> </div> <div> <a class="selected" href="fn_regexp_instr.html">regexp_instr</a> </div> <div> <a href="fn_regexp_like.html">regexp_like</a> </div> <div> <a href="fn_regexp_match.html">regexp_match</a> </div> <div> <a href="fn_regexp_parse.html">regexp_parse</a> </div> <div> <a href="fn_regexp_replace.html">regexp_replace</a> </div> <div> <a href="fn_regexp_substr.html">regexp_substr</a> </div> <div> <a href="fn_repeat.html">repeat</a> </div> <div> <a href="fn_replace.html">replace</a> </div> <div> <a href="fn_right.html">right</a> </div> <div> <a href="fn_rtrim.html">rtrim</a> </div> <div> <a href="fn_search_excerpt.html">search_excerpt</a> </div> <div> <a href="fn_serialize.html">serialize</a> </div> <div> <a href="fn_space.html">space</a> </div> <div> <a href="fn_split_and_decode.html">split_and_decode</a> </div> <div> <a href="fn_sprintf.html">sprintf</a> </div> <div> <a href="fn_sprintf_inverse.html">sprintf_inverse</a> </div> <div> <a href="fn_sprintf_iri.html">sprintf_iri</a> </div> <div> <a href="fn_sprintf_iri_or_null.html">sprintf_iri_or_null</a> </div> <div> <a href="fn_sprintf_or_null.html">sprintf_or_null</a> </div> <div> <a href="fn_starts_with.html">starts_with</a> </div> <div> <a href="fn_strcasestr.html">strcasestr</a> </div> <div> <a href="fn_strchr.html">strchr</a> </div> <div> <a href="fn_strcontains.html">strcontains</a> </div> <div> <a href="fn_string_output.html">string_output</a> </div> <div> <a href="fn_string_output_flush.html">string_output_flush</a> </div> <div> <a href="fn_string_output_gz_compress.html">string_output_gz_com...</a> </div> <div> <a href="fn_string_output_string.html">string_output_string</a> </div> <div> <a href="fn_string_to_file.html">string_to_file</a> </div> <div> <a href="fn_strrchr.html">strrchr</a> </div> <div> <a href="fn_strstr.html">strstr</a> </div> <div> <a href="fn_subseq.html">subseq</a> </div> <div> <a href="fn_substring.html">substring</a> </div> <div> <a href="fn_tmp_file_name.html">tmp_file_name</a> </div> <div> <a href="fn_trim.html">trim</a> </div> <div> <a href="fn_ucase.html">ucase</a> </div> <div> <a href="fn_upper.html">upper</a> </div> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a href="functions.html#ws">Web & Internet</a> </div> <div> <a href="functions.html#xml">XML</a> </div> <div> <a href="functions.html#XPATH">XPATH & XQUERY</a> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>regexp_instr</h2> <div class="refpurpose">Returns the first position of the occurrence of a regular-expression pattern in a given string.</div> <div class="funcsynopsis"> <span class="funcdef">integer <span class="function">regexp_instr</span> </span> (<span class="paramdef">in <span class="parameter">source_string</span> varchar</span>, <span class="paramdef">in <span class="parameter">pattern</span> varchar</span>, <span class="paramdefoptional">[in <span class="optional">start_position</span> integer]</span>, <span class="paramdefoptional">[in <span class="optional">occurrence</span> integer]</span>, <span class="paramdefoptional">[in <span class="optional">return_option</span> integer]</span>, <span class="paramdefoptional">[in <span class="optional">match_parameter</span> integer]</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p>This function looks for a pattern and returns the first position of the pattern. Optionally, you can indicate the <span class="computeroutput">start_position</span> you want to begin the search. The <span class="computeroutput">occurrence</span> parameter defaults to 1 unless you indicate that you are looking for a subsequent occurrence. The default value of the <span class="computeroutput">return_option</span> is 0, which returns the starting position of the pattern; a value of 1 returns the starting position of the next character following the match. </p> <p>This function returns the starting position of a pattern, so it works much like the familiar INSTR function. The main difference between the two functions is that REGEXP_INSTR lets you specify a pattern instead of a specific search string; thus providing greater versatility. </p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">source_string – </span> The string to search.</div> <div class="refsect2"> <span class="refsect2title">pattern – </span> The regular expression to match.</div> <div class="refsect2"> <span class="refsect2title">start_position – </span> The position to begin the search from.</div> <div class="refsect2"> <span class="refsect2title">occurrence – </span> Defaulting to 1, this parameter describes how many occurrences to look for.</div> <div class="refsect2"> <span class="refsect2title">return_option – </span> </div> <div class="refsect2"> <span class="refsect2title">match_parameter – </span> The default value of the <span class="computeroutput">return_option</span> is 0, which returns the starting position of the pattern; a value of 1 returns the starting position of the next character following the match. </div> </div> <div class="refsect1"> <div class="refsect1title">Returns</div> <p>This function returns the a substring matching the regular expression.</p> </div> <div class="refsect1"> <div class="refsect1title">Examples</div> <a name="ex_regexp_instr" /> <div class="example"> <div class="exampletitle">Examples</div> <p> This example uses <span class="computeroutput">REGEXP_INSTR()</span> to return the starting position of the five-digit zip-code pattern within the string Joe Smith, 10045 Berry Lane, San Joseph, CA 91234. If the regular expression is written as :digit:?{5}, you will get the house number's starting position instead of the zip code's, because 10045 is the first occurrence of five consecutive digits. Therefore, you must anchor the expression to the end of the line, as indicated with the $ metacharacter, and the function will display the starting position of the zip code regardless of the number of digits for the house number. </p> <div> <pre class="programlisting"> SELECT REGEXP_INSTR('Joe Smith, 10045 Berry Lane, San Joseph, CA 91234', '[[:digit:]]{5}\$') AS rx_instr; RX_INSTR ---------- 45 </pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="fn_regexp_match.html">regexp_match()</a> </p> <p> <a href="fn_regexp_like.html">regexp_like()</a> </p> <p> <a href="fn_regexp_parse.html">regexp_parse()</a> </p> <p> <a href="fn_regexp_replace.html">regexp_replace()</a> </p> <p> <a href="fn_regexp_substr.html">regexp_substr()</a> </p> </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>