Document that builtins.match takes a POSIX extended RE
This commit is contained in:
parent
e46090edb1
commit
f134fc4cbe
2 changed files with 13 additions and 4 deletions
|
@ -213,10 +213,11 @@ if builtins ? getEnv then builtins.getEnv "PATH" else ""</programlisting>
|
|||
<varlistentry><term><function>builtins.match</function>
|
||||
<replaceable>regex</replaceable> <replaceable>str</replaceable></term>
|
||||
|
||||
<listitem><para>Returns a list if
|
||||
<replaceable>regex</replaceable> matches
|
||||
<replaceable>str</replaceable> precisely, otherwise returns <literal>null</literal>.
|
||||
Each item in the list is a regex group.
|
||||
<listitem><para>Returns a list if the <link
|
||||
xlink:href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">extended
|
||||
POSIX regular expression</link> <replaceable>regex</replaceable>
|
||||
matches <replaceable>str</replaceable> precisely, otherwise returns
|
||||
<literal>null</literal>. Each item in the list is a regex group.
|
||||
|
||||
<programlisting>
|
||||
builtins.match "ab" "abc"
|
||||
|
@ -236,6 +237,11 @@ builtins.match "a(b)(c)" "abc"
|
|||
|
||||
Evaluates to <literal>[ "b" "c" ]</literal>.
|
||||
|
||||
<programlisting>
|
||||
builtins.match "[[:space:]]+([[:upper:]]+)[[:space:]]+" " FOO "
|
||||
</programlisting>
|
||||
|
||||
Evaluates to <literal>[ "foo" ]</literal>.
|
||||
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
|
|
@ -17,8 +17,11 @@ assert matches "fo+" "foo";
|
|||
assert matches "fo{1,2}" "foo";
|
||||
assert !matches "fo{1,2}" "fooo";
|
||||
assert !matches "fo*" "foobar";
|
||||
assert matches "[[:space:]]+([^[:space:]]+)[[:space:]]+" " foo ";
|
||||
assert !matches "[[:space:]]+([[:upper:]]+)[[:space:]]+" " foo ";
|
||||
|
||||
assert match "(.*)\\.nix" "foobar.nix" == [ "foobar" ];
|
||||
assert match "[[:space:]]+([[:upper:]]+)[[:space:]]+" " FOO " == [ "FOO" ];
|
||||
|
||||
assert splitFN "/path/to/foobar.nix" == [ "/path/to/" "/path/to" "foobar" "nix" ];
|
||||
assert splitFN "foobar.cc" == [ null null "foobar" "cc" ];
|
||||
|
|
Loading…
Reference in a new issue