From c5d118cde064c09a416541a7f7e76d354552b2fd Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 9 Jan 2017 15:56:34 +0200 Subject: Spec dot inversion flag in testscript regex --- doc/testscript.cli | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/testscript.cli b/doc/testscript.cli index ac4cda9..5929eea 100644 --- a/doc/testscript.cli +++ b/doc/testscript.cli @@ -1932,8 +1932,7 @@ in effect (in a sense, the \c{~} modifier is its introducer). Note that the here-string regex naturally must always start with an introducer. A char-regex line that starts with an introducer must also end with one -optionally followed by \i{match flags}. Currently the only supported flag is -\c{i} for case-insensitive match. For example: +optionally followed by \i{match flags}, for example: \ $* >>~/EOO/ @@ -1942,14 +1941,29 @@ $* >>~/EOO/ EOO \ +The following match flag are recognized: + +\dl| + +\li|\n\c{i} + + Perform case-insensitive match.| + +\li|\n\c{d} + + Invert the dot character (\c{.}) escaping. With this flag unescaped dots + are treated as literal characters while the escaped ones (\c{\\.}) \- + as matching any character. Note that dots specified within character + classes (\c{[.]}) are not affected.|| + Any character can act as a regex introducer. For here-strings it is the first character in the string. For here-documents the introducer is specified as part of the end marker. In this case the first character is the introducer, everything after that and until the second occurrence of the introducer is the actual end marker, and everything after that are global match flags. Global -match flags apply to every char-regex (but not literal line) in this -here-document. Note that there is no way to escape the introducer character -inside the regex. +match flags apply to every char-regex (but not literal lines or the line-regex +itself) in this here-document. Note that there is no way to escape the +introducer character inside the regex. As an example, here is a shorter version of the previous example that also uses a different introducer character. -- cgit v1.1