<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect2 id="zend.validate.set.regex">
    <title>Regex</title>

    <para>
        Diese Prüfung erlaubt es zu prüfen ob ein angegebener String einer definierten Regular
        Expression entspricht.
    </para>

    <sect3 id="zend.validate.set.regex.options">
        <title>Unterstützte Optionen für Zend_Validate_Regex</title>

        <para>
            Die folgenden Optionen werden für <classname>Zend_Validate_Regex</classname>
            unterstützt:
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <emphasis><property>pattern</property></emphasis>: Setzt das Pattern der
                    Regular Expression für diese Prüfung.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>

    <sect3 id="zend.validate.set.regex.basic">
        <title>Prüfen mit Zend_Validate_Regex</title>

        <para>
            Die Prüfung mit Regular Expressions erlaubt es komplizierte Prüfungen durchzuführen,
            ohne das eine eigene Prüfung geschrieben werden muss. Die Verwendung von Regular
            Expressions ist relativ üblich und einfach. Sehen wir uns ein Beispiel an:
        </para>

        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Regex(array('pattern' => '/^Test/');

$validator->isValid("Test"); // Gibt true zurück
$validator->isValid("Testing"); // Gibt true zurück
$validator->isValid("Pest"); // Gibt false zurück
]]></programlisting>

        <para>
            Wie man sehen kann hat das Pattern welches anzugeben ist die gleiche Syntax wie für
            <methodname>preg_match()</methodname>. Für Details über Regular Expressions sollte man
            einen Blick in <ulink
                url="http://php.net/manual/en/reference.pcre.pattern.syntax.php">PHP's Handbuch
                über die PCRE Pattern Syntax</ulink> werfen.
        </para>
    </sect3>

    <sect3 id="zend.validate.set.regex.handling">
        <title>Handhabung von Pattern</title>

        <para>
            Es ist auch möglich andere Pattern im Nachhinein zu setzen indem
            <methodname>setPattern()</methodname> verwendet wird, und das aktuell gesetzte Pattern
            mit <methodname>getPattern()</methodname> erhalten.
        </para>

        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Regex(array('pattern' => '/^Test/');
$validator->setPattern('ing$/');

$validator->isValid("Test"); // Gibt false zurück
$validator->isValid("Testing"); // Gibt true zurück
$validator->isValid("Pest"); // Gibt false zurück
]]></programlisting>
    </sect3>
</sect2>
<!--
vim:se ts=4 sw=4 et:
-->
