mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-20 04:24:36 +08:00
Help: Document how escape sequences work in a regex
Our regex engine doesn't interpret `\`-escapes but CMake language escape sequences may be used to pass literal whitespace characters to it.
This commit is contained in:
@@ -151,6 +151,20 @@ has lower precedence than concatenation. This means that the regular
|
|||||||
expression ``^ab+d$`` matches ``abbd`` but not ``ababd``, and the regular
|
expression ``^ab+d$`` matches ``abbd`` but not ``ababd``, and the regular
|
||||||
expression ``^(ab|cd)$`` matches ``ab`` but not ``abd``.
|
expression ``^(ab|cd)$`` matches ``ab`` but not ``abd``.
|
||||||
|
|
||||||
|
Backslash (``\``) characters in regular expressions are interpreted
|
||||||
|
literally and do not escape anything or represent placeholders.
|
||||||
|
However, CMake language :ref:`Escape Sequences` such as ``\t``,
|
||||||
|
``\r``, ``\n``, and ``\\`` may be used to construct literal tabs,
|
||||||
|
carriage returns, newlines, and backslashes (respectively) to pass
|
||||||
|
in a regex. For example:
|
||||||
|
|
||||||
|
* The quoted argument ``"[ \t\r\n]"`` specifies a regex that matches
|
||||||
|
any single whitespace character.
|
||||||
|
* The quoted argument ``"[/\\]"`` specifies a regex that matches
|
||||||
|
a single forward slash ``/`` or backslash ``\``.
|
||||||
|
* The quoted argument ``"[A-Za-z0-9_]"`` specifies a regex that matches
|
||||||
|
any single "word" character in the C locale.
|
||||||
|
|
||||||
Manipulation
|
Manipulation
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user