1<?xml version="1.0" encoding="UTF-8"?> 2 3<section id="pcre"><title>Perl Compatible Regular Expressions</title> 4 5<para>This is an interface to &pcre-link;.</para> 6<simpara>When this module is present, &features-my; contains the 7 symbol <constant>:PCRE</constant>.</simpara> 8 9<variablelist id="pcre-api"><title>PCRE module API</title> 10 <varlistentry id="pcre-version"> 11 <term><code>(PCRE:PCRE-VERSION)</code></term> 12 <listitem><simpara>Return version information as 4 values: descriptive 13 &string-t;; 2 &fixnum-t;s: major and minor numbers; date &string-t;. 14 </simpara></listitem></varlistentry> 15 <varlistentry id="pcre-config"> 16 <term><code>(PCRE:PCRE-CONFIG &type-r;)</code></term> 17 <listitem><para>Return some information about the PCRE build 18 configuration. &type-r; is one of <simplelist> 19 <member><literal>:UTF8</literal></member> 20 <member><literal>:NEWLINE</literal></member> 21 <member><literal>:LINK-SIZE</literal></member> 22 <member><literal>:POSIX-MALLOC-THRESHOLD</literal></member> 23 <member><literal>:MATCH-LIMIT</literal></member> 24 <member><literal>:STACKRECURSE</literal></member> 25 <member><literal>:UNICODE-PROPERTIES </literal></member> 26 <member><literal>:MATCH-LIMIT-RECURSION</literal></member> 27 <member><literal>:BSR</literal></member> 28 </simplelist></para></listitem></varlistentry> 29 <varlistentry id="pcre-compile"> 30 <term><code>(PCRE:PCRE-COMPILE &string-r; &key-amp; :STUDY 31 :IGNORE-CASE :MULTILINE :DOTALL :EXTENDED :ANCHORED :DOLLAR-ENDONLY 32 :EXTRA :NOTBOL :NOTEOL :UNGREEDY :NOTEMPTY :NO-AUTO-CAPTURE)</code></term> 33 <listitem><simpara>Compile a pattern, optionally study it. 34 </simpara></listitem></varlistentry> 35 <varlistentry id="pattern-info"><term> 36 <code>(PCRE:PATTERN-INFO &pattern-r; &optional-amp; request)</code></term> 37 <listitem><para>Return some information about the &pattern-r;, 38 such as <simplelist><member><literal>:OPTIONS</literal></member> 39 <member><literal>:SIZE</literal></member> 40 <member><literal>:CAPTURECOUNT</literal></member> 41 <member><literal>:BACKREFMAX</literal></member> 42 <member><literal>:FIRSTBYTE</literal></member> 43 <member><literal>:FIRSTTABLE</literal></member> 44 <member><literal>:LASTLITERAL</literal></member> 45 <member><literal>:NAMEENTRYSIZE</literal></member> 46 <member><literal>:NAMECOUNT</literal></member> 47 <member><literal>:NAMETABLE</literal></member> 48 <member><literal>:STUDYSIZE</literal></member> 49 <member><literal>:OKPARTIAL</literal></member> 50 <member><literal>:JCHANGED</literal></member> 51 <member><literal>:HASCRORLF</literal></member> 52 <member><literal>:MINLENGTH</literal></member> 53 </simplelist></para></listitem></varlistentry> 54 <varlistentry id="pcre-name-to-index"> 55 <term><code>(PCRE:PCRE-NAME-TO-INDEX &pattern-r; &name-r;)</code></term> 56 <listitem><simpara>Convert the name of the sub-pattern to an index in 57 the return vector.</simpara></listitem></varlistentry> 58 <varlistentry id="pcre-exec"> 59 <term><code>(PCRE:PCRE-EXEC &pattern-r; &string-r; &key-amp; 60 :WORK-SPACE :DFA :BOOLEAN :OFFSET :ANCHORED :NOTBOL :NOTEOL :NOTEMPTY 61 :PARTIAL :DFA-SHORTEST :DFA-RESTART :FIRSTLINE :DUPNAMES :NEWLINE-CR 62 :NEWLINE-LF :NEWLINE-CRLF :NEWLINE-ANY :NEWLINE-ANYCRLF :BSR-ANYCRLF 63 :BSR-UNICODE :JAVASCRIPT-COMPAT :NO-START-OPTIMIZE :NO-START-OPTIMISE 64 :PARTIAL-HARD :NOTEMPTY-ATSTART)</code></term> 65 <listitem><simpara>Execute the compiled &pattern-r; against the 66 &string-r; at the given &offset-r; with the given options. 67 Returns &nil; if no matches or a &vector-t; of &length; 68 <literal>CAPTURECOUNT+1</literal> of <type>PCRE:MATCH</type> structures, 69 unless <literal>:BOOLEAN</literal> was non-&nil;, in which case 70 return &t; as an indicator of success, but do not allocate anything. 71 </simpara><simpara><constant>:DFA</constant> argument determines 72 whether <function>pcre_dfa_exec</function> is used instead 73 of <function>pcre_exec</function> (PCRE v6 and better).</simpara> 74 <simpara><constant>:WORK-SPACE</constant> is only used 75 for <constant>:DFA</constant> and defaults to 20.</simpara> 76 </listitem></varlistentry> 77 <varlistentry id="pcre-match-access"> 78 <term><code>(PCRE:MATCH-START &match-r;)</code></term> 79 <term><code>(PCRE:MATCH-END &match-r;)</code></term> 80 <listitem><simpara>Return the start and end of the &match-r;. &setf;-able. 81 </simpara></listitem></varlistentry> 82 <varlistentry id="match-substring"> 83 <term><code>(PCRE:MATCH-SUBSTRING &match-r; &string-r;)</code></term> 84 <listitem><simpara>Return the substring of &string-r; bounded by &match-r;. 85 </simpara></listitem></varlistentry> 86 <varlistentry id="match-strings"> 87 <term><code>(PCRE:MATCH-STRINGS return-vector &string-r;)</code></term> 88 <listitem><simpara>Return all substrings for all matches found 89 by <function>PCRE:PCRE-EXEC</function>. 90 </simpara></listitem></varlistentry> 91 <varlistentry id="match-string"> 92 <term><code>(PCRE:MATCH-STRING return-vector which 93 &string-r; &optional-amp; &pattern-r;)</code></term> 94 <listitem><simpara>Return the substring that matches the given sub-pattern. 95 If <replaceable>which</replaceable> is a name of the sub-pattern (as 96 opposed to its number), &pattern-r; must be supplied. 97 </simpara></listitem></varlistentry> 98 <varlistentry id="pcre-matcher"> 99 <term><code>(PCRE:PCRE-MATCHER &pattern-r;)</code></term> 100 <listitem><simpara>A valid value for &apropos-matcher;. 101 </simpara></listitem></varlistentry> 102</variablelist> 103</section> 104