Robot Framework Regexp
Habe ich Daten in folgendem format
name | height | hex assigned
[alphanumeric and spaces] | [numeric] cm| [hex]:[hex]
20 char | 5 char | 1 char: 1 char
Was ich versuche zu tun ist, übereinstimmen des regexp -
${escaped}= Regexp Escape '[A-Za-z0-9_\s] | [0-9]+ cm| [0-9a-f]:[0-9a-f]'
Should Match Regexp ${text} ${escaped}
Obwohl der text korrekt ist, den test zu halten scheitern.
Wäre wirklich dankbar, wenn jemand darauf hinweisen könnte, was ich falsch gemacht habe.
- Bitte erstellen Sie eine kurze, komplett-Programm, das zeigt den Fehler. Siehe stackoverflow.com/help/mcve für mehr info.
- in deinem regex, wo haben Sie geben Sie 20 chars und 5 chars?
- die
|
ist eine sinnvolle Charakter in den meisten regex-Syntax, so dass Sie möglicherweise haben, um es zu entkommen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie entkommen Ihren regulären Ausdruck, Sie sind im wesentlichen die Umwandlung des Ausdrucks in eine Feste Zeichenfolge. Sie haben auch das problem, dass Ihr Muster beginnt und endet mit einem Apostroph. Da Roboter behandelt die ganze Zelle als Ausdruck, Ihr Ausdruck wird sich nur entsprechen, wenn es tatsächlich beginnt und endet mit einem Apostroph.
Die Lösung erfordert ein paar änderungen in dem, was du tust:
^
und$
), es sei denn, Sie wollen, die dem Muster entsprechen überall in der Zeichenfolge\
ist das Besondere im robot-Dateien, also um einen umgekehrten Schrägstrich in das Muster müssen Sie zwei bei der Festlegung der MusterIch denke, die folgenden tut, was Sie wollen:
Können Sie die folgenden verwenden:
Sehen DEMO
Regexp Escape
entweicht alle regulärer Ausdruck Sonderzeichen, die im wesentlichen die Umwandlung des Musters in eine Feste Zeichenfolge.Regexp Escape
.. aber wenn es verwendet wird, mitShould Match Regexp
es wie erwartet funktionieren wird.. siehe robotframework.googlecode.com/hg/doc/libraries/...