Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

Mit regulären Ausdrücken

  • Last UpdatedSep 26, 2024
  • 3 minute read

Ein regulärer Ausdruck beschreibt einen oder mehrere Zeichenketten, die übereinstimmen müssen, wenn Sie ein Skript mit alphanumerischen Zeichen und Sonderzeichen durchsuchen. Ein regulärer Ausdruck besteht aus normalen Zeichen, die als Vorlage eines Zeichenmusters für die gesuchte Zeichenkette dienen.

Reguläre Ausdrücke werden konstruiert, vergleichbar mit dem Erstellen von arithmetischen Ausdrücken. Kleine Ausdrücke werden mit verschiedenen Metazeichen und Operatoren kombiniert, um längere Ausdrücke zu erzeugen.

Ein regulärer Ausdruck kann aus einzelnen Zeichen, Zeichensätzen, Zeichenbereichen oder einer Zeichenauswahl bestehen. Komponenten können auch jede beliebige Kombination dieser Komponenten sein.

Regulärer Skript-Ausdruck

Regulärer Ausdruck

Zweck

Beispiel

.

Einzelne Zeichen müssen übereinstimmen (außer Zeilenumbruch)

s.e. stimmt mit "ste" in "step" und "sfe", "transfer", aber nicht mit "acro" in "across" überein.

*

Keine oder mehrere Vorkommen des vorangestellten Ausdrucks (so viele Zeichen wie möglich) müssen übereinstimmen

a*r stimmen mit "r" in "rack", "ar" in "ark" und "aar" in "aardvark" überein

.*

Alle Zeichen müssen nie oder mehrmals übereinstimmen (Platzhalter *)

c.*e stimmt mit "cke" in "racket", "comme" in "comment" und "code" in "code" überein

+

Eine oder mehrere Vorkommen des vorangestellten Ausdrucks (so viele Zeichen wie möglich) müssen übereinstimmen

e.+e stimmt mit "eede" in "feeder", aber nicht mit "ee" überein.

.+

Alle Zeichen müssen einmal oder mehrmals übereinstimmen (Platzhalter ?)

e.+e stimmt mit "eede" in "feeder" aber nicht mit "ee" überein.

*?

Keine oder mehrere Vorkommen des vorangestellten Ausdrucks (so wenige Zeichen wie möglich) müssen übereinstimmen

e.*?e stimmt mit "ee" in "feeder" aber nicht mit "eede" überein.

+?

Eine oder mehrere Vorkommen des vorangestellten Ausdrucks (so wenige Zeichen wie möglich) müssen übereinstimmen

e.+?e stimmt mit "ente" und "erprise" in "enterprise" aber nicht mit dem ganzen Wort "enterprise" überein.

^

Die übereinstimmende Zeichenfolge wird mit einem Zeilenanfang oder einer Zeichenkette verbunden

^car stimmt nur mit dem Wort "car" überein, wenn es an einem Zeilenanfang vorkommt.

\r?$

Die übereinstimmende Zeichenfolge wird mit einem Zeilenende verbunden

End\r?

nbsp;stimmt nur mit dem Wort "end" überein, wenn es an einem Zeilenende vorkommt.

[abc]

Einzelne Zeichen müssen als Satz übereinstimmen

b[abc] stimmt mit "ba", "bb" und "bc" überein.

[a-f]

Ein beliebiges Zeichen muss in einer Reihe von Zeichen übereinstimmen

be[n-t] stimmt mit "bet" in "between", "ben" in "beneath" und "bes" in "beside", aber nicht mit "below" überein.

()

Der Ausdruck in Klammern wird erfasst und implizit gezählt

([a-z])X\1 stimmt mit "aXa" und "bXb", aber nicht mit "aXb" überein. ". "\1" bezieht sich auf die erste Ausdrucksgruppe "[a-z]".

(?!abc)

Eine Übereinstimmung ungültig machen

real (?!ity) stimmt mit "real" in "realty" und "really", aber nicht in "reality" überein. Hier wird auch das zweite "real" (aber nicht das erste "real") in "realityreal" gefunden.

(?!abc)

Alle beliebigen Zeichen müssen übereinstimmen, die nicht mit einem angegebenen Zeichensatz übereinstimmen

be[n-t] stimmt mit "bef" in "before", "beh" in "behind" und "bel" in "below", aber nicht mit "beneath" überein.

|

Entweder der Ausdruck vor oder nach dem Symbol stimmt überein.

(sponge|mud)bath Stimmt mit "spongebath" und "mudbath" überein.

|\^

Das Zeichen nach dem Gegenschrägstrich wird aufgehoben

{x},

Die Anzahl der Vorkommen der vorangestellten Zeichengruppe wird angegeben

x(ab){2}x stimmt mit "xababx" und x(ab){2,3}x stimmt mit "xababx" und "xabababx", aber nicht mit "xababababx" überein.

\p{X}

Text in einer Unicode-Zeichenklasse wird verglichen, wobei "X" die Unicode-Zahl ist.

\p{Lu} "T" und "D" in "Thomas Doe" stimmen überein.

\b

Eine Wortgrenze wird verglichen

\bin stimmt mit "in" in "inside", aber nicht in "pinto" überein.

\r?\n

Ein Zeilenumbruch wird verglichen (d. h. eine Zeilenumschaltung gefolgt von einer neuen Zeile).

End\r?\nBegin Vergleicht "End" und "Begin" nur, wenn "End" die letzte Zeichenkette auf der letzten Zeile und "Begin" die erste Zeichenkette in der nächsten Zeile ist.

\w

Alle alphanumerischen Zeichen werden verglichen

a\wd vergleicht "add" und "a1d", aber nicht "a d".

(?[^\r\n])\s

Alle Leerzeichen werden verglichen

Public\sInterface die Phrase "Public Interface" stimmt überein.

\d

Alle numerischen Zeichen werden verglichen

\d stimmt mit "3" in "3456", "2" in 23" und "1" in "1" überein.

\uXXXX, wobei XXXX den Unicode-Zeichenwert bestimmt

Einn Unicode-Zeichen suchen

\u0065 Sucht das Zeichen "e".

\b(\w+|[\w-[0-9\]]\w*)\b

Einen Identifikator suchen

Sucht "type1" aber nicht &type1" oder "#define".

((\".+?\")|('.+?'))

Zeichenketten in Anführungszeichen suchen

Sucht alle Zeichenketten in Anführungszeichen.

\b0[xX]([0-9a-fA-F])\b

Hexadezimalzahlen suchen

Sucht "0xc67f", aber nicht "0xc67fc67f".

\b[0-9]\.\[0-9]+\b

Ganzzahlen und d suchen

Sucht "1.333".

Prioritätsrangfolge

Ein regulärer Ausdruck wird von links nach rechts evaluiert und folgt einer Prioritätsrangfolge.

Die folgende Tabelle zeigt die Prioritätsrangfolge der Operatoren regulärer Ausdrücke vom Höchsten zum Niedrigsten.

Operator oder Operatoren

Beschreibung

\

Escape

(), (?:), (?=), []

Klammern

*, +, ?, {n}, {n,}, {n,m}

Quantifikatoren

^, $, \anymetacharacter

Verbindungen und Sequenzen

|

Alternation

Zeichen haben eine höhere Piorität als der Alternationsoperator, z. B. stimmt "m|food" mit "m" oder "food" überein.

In This Topic