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