**Eigenschaft:** ==== Vergleichswert ==== \\ **Beschreibung:** Wenn für die Eigenschaft **Doumentgrenze** der Wert **Feldwert** gewählt wurde, wird mit dieser Eigenschaft festgelegt, gegen welchen Wert der Feldinhalt auf Gleichheit getestet werden soll. Die maximale Länge des Vergleichswerts ist auf 80 Zeichen beschränkt. Für allen anderen Werte der Eigenschaft **Doumentgrenze** ist der Vergleichswert ohne Bedeutung und kann leer bleiben. {{print2forms:objekte:prozess:fldval.png}} Bei der Eingabe des Vergleichswertes sind alle Klein- und Grossbuchstbaben, länderspezifischen Sonderzeichen, Ziffern und alle Sonderzeichen (ausser den weiter unten aufgeführten Metazeichen) erlaubt. Insbesondere ist die Verwendung von Leerstellen zulässig. Steuerzeichen wie Tabulator, Zeilen- oder Seitenvorschub können zwar hexadezimal eingegeben werden, sind aber nicht nutzbar, weil bei der Suche der Dokumentgrenze nur die Textbestandteile des Dokuments durchsucht werden. Bei der Eingabe des Vergleichswerts können auch sogenannte Muster verwendet werden. Zur Beschreibung von Mustern werden die folgenden, sogenannten Metazeichen verwendet: | . | Der Punkt repräsentiert ein beliebiges Zeichen - natürlich auch sich selbst und jedes der anderen Metazeichen. Dieses Teilmuster ist also unabhängig vom zu testenden Zeichen immer erfüllt. | | # | Das Hash-Symbol repräsentiert eine Dezimalziffer, also die Zeichen '0' bis '9'. Es ist somit eine Abkürzung für %%'[%%0-9]' (siehe weiter unten). Das Symbol kann auch innerhalb der Definition von Zeichenklassen verwendet werden. | | @ | Das @-Symbol repräsentiert einen beliebigen Gross- oder Kleinbuchstaben des lateinischen Alphabets, also die Zeichen 'A' bis 'Z' oder 'a' bis 'z'. Es ist somit eine Abkürzung für %%'[%%a-zA-Z]' (siehe weiter unten). Das Symbol kann auch innerhalb der Definition von Zeichenklassen verwendet werden. | | [ ] | Innerhalb der eckigen Klammern können die an einer bestimmten Stelle zulässigen Zeichen einzeln aufgeführt werden. Damit wird eine sogenannte Zeichenklasse definiert. Dabei sind Aufzählung wie etwa %%'[%%AEIOU]' aber auch Bereiche wie %%'[%%0-9]' möglich. Mischformen wie %%'[%%0-9ABCDEF]' oder [0-9a-fA-F]' sind ebenfalls erlaubt. Die Reihenfolge von Bereichen innerhalb der Klasse ist ohne Bedeutung, wohl aber die Reihenfolge der Zeichen bei der Definition von Bereichen. Das erste Zeichen muss einen kleineren Code haben als der des Endzeichens (in ISO 8859-1). Ist ein Minuszeichen Bestandteil der Zeichenklasse, muss es als erstes aufgeführt oder in seiner literalen Form '\-' geschrieben werden. Eine schliessende eckige Klammer innerhalb der Zeichenklasse muss immer als '\%%['%% geschrieben werden. | | \ | Der inverse Schrägstrich kennzeichnet das nachfolgende Zeichen als Literal. Damit können alle zur Formulierung der Muster notwendigen Metazeichen %%('*'%% = '\%%*'%%, '?' = '\?', etc) auch in den Nutzdaten abgetestet werden. Folgt dem Schrägstrich ein 'x', werden die beiden nachfolgenden Zeichen als Hexadezimalwerte interpretiert. Damit ist mit '\x00' bis '\xFF' der gesamte Zeichenbereich inklusive Steuerzeichen abdeckbar. Folgt dem Schrägstrich ein 'u', weden die nachfolgenden zwei, vier oder sechs Zeichen als Hexadezimalzahl interpretiert. Die Zahl definiert den Unicode-Wert eines Zeichens. | | * | Der Stern repräsentiert einen Wiederholungsfaktor. Er erlaubt die beliebig häufige Wiederholung des vorangegangenen Musters - insbesondere aber auch, dass das Muster Null mal wiederholt wird, also gar nicht vorkommt. | | + | Das Pluszeichen repräsentiert einen Wiederholungsfaktor. Es erlaubt die beliebig häufige Wiederholung des vorangegangenen Musters, wobei das Muster aber mindestens einmal vorkommen muss. | | ? | Das Fragezeichen repräsentiert einen Wiederholungsfaktor. Es erlaubt die nullmalige oder einmalige Wiederholung des vorangegangenen Musters. Es ist somit eine Abkürzung für den Wiederholungsfaktor %%'{%%0,1}' (siehe weiter unten). | | (sp){(sp)}(sp) | Innerhalb der geschweiften Klammern kann ein numerischer Wiederholungsfaktor angegeben werden. Die Form '#{5}' fordert das exakt fünfmalige Auftauchen einer Ziffer und entspricht daher dem Muster '#####'. Ein Wiederholungsfaktor bezieht sich immer nur auf das vorangehende Zeichen, die Zeichenklasse oder Gruppe. Alternativ kann ein Wiederholungsfaktor auch in der Form '#{2,9}' angegeben werden, was für eine Dezimalzahl mit mindestens zwei und maximal neun Stellen steht. | | ( ) | Innerhalb der runden Klammern können beliebige andere Muster zu einer Gruppe zusammengefügt werden. Auf diese Gruppe kann ein Wiederholungsfaktor angewendet werden. Insgesamt können nur zehn Gruppen innerhalb eines Musters verwendet werden. Gruppen können ineinander geschachtelt werden. | \\ \\ **Hinweise:** * Ein Feldtest auf Ungleichheit ist nicht vorgesehen. * Eine ausführliche Abhandlung und viele Beispiele zum Einsatz von Vergleichsmustern findet sich auch im (p2f)-Tutorial. * Die Verwendung von runden Klammern zum Extrahieren von Nutzdaten aus Feldern wird an dieser Stelle nicht unterstützt. Die Klammern werden allerdings erkannt, und können bei der Suche nach Feldwechseln zur Eingrenzung der zu testenden Feldbestandteile verwendet werden. Klammern sind deshalb auch, wenn sie literal verwendet werden sollen, bei der Suche nach Dokumentgrenzen als '\%%('%% und '\)' zu schreiben. * Die Verwendung von Vergleichsmustern hat keinen grösseren Einfluss auf die Laufzeit der Prozesse. * Frühere Versionen von (p2f) haben für die Mustererkennung andere Muster verwendet. Diese werden von den aktuellen Versionen der Clients und Gateways auch immer noch unterstützt, und können auch weiterhin verwendet werden. Soll aber die oben beschriebene, leistungsfähigere Art der Mustererkennung in alten Installationen parallel dazu verwendet werden, sind die neuen Muster mit einem vorangestellten '^' zu kennzeichnen. In neueren Installationen ab der Installer Version 2.5 werden ausschliesslich die neuen Muster verwendet. * Für eine ausführliche Erklärung der zur Mustererkennung verwendeten regulären Ausdrücke gibt es ein eigenes Handbuch, welches sich im Installationsverzeichnis von (p2f) befindet. Es hat dort den Namen 'p2fRegex-de.chm' und beschreibt den in (p2f) verwendeten Dialekt für reguläre Ausdrücke. Neuere Versionen von (p2f) verfügen auch über ein Hilfsprogramm zum Austesten von eigenen regulären Ausdrücken. Das Programm befindet sich ebenfalls im Installationsverzeichnis und hat den Namen 'p2fRegEx.exe'. * Eine weitere ausführliche Abhandlung und viele Beispiele zum Einsatz von Vergleichswerten und Mustern findet sich hier im Wiki unter [[print2forms:regex:regex|Reguläre Ausdrücke]]. * Als schnelle Übersicht und Gedächtnisstütze kann hier das vollständige Syntaxdiagramm für reguläre Ausdrücke abgerufen werden: [[print2forms:regex:Komplettes Syntaxdiagramm]]. \\ \\