#25517: merge with 3.5.

This commit is contained in:
Ezio Melotti 2016-01-12 00:09:43 +02:00
commit 1d37771292
1 changed files with 4 additions and 3 deletions

View File

@ -1004,17 +1004,18 @@ confusing.
A negative lookahead cuts through all this confusion: A negative lookahead cuts through all this confusion:
``.*[.](?!bat$).*$`` The negative lookahead means: if the expression ``bat`` ``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression ``bat``
doesn't match at this point, try the rest of the pattern; if ``bat$`` does doesn't match at this point, try the rest of the pattern; if ``bat$`` does
match, the whole pattern will fail. The trailing ``$`` is required to ensure match, the whole pattern will fail. The trailing ``$`` is required to ensure
that something like ``sample.batch``, where the extension only starts with that something like ``sample.batch``, where the extension only starts with
``bat``, will be allowed. ``bat``, will be allowed. The ``[^.]*`` makes sure that the pattern works
when there are multiple dots in the filename.
Excluding another filename extension is now easy; simply add it as an Excluding another filename extension is now easy; simply add it as an
alternative inside the assertion. The following pattern excludes filenames that alternative inside the assertion. The following pattern excludes filenames that
end in either ``bat`` or ``exe``: end in either ``bat`` or ``exe``:
``.*[.](?!bat$|exe$).*$`` ``.*[.](?!bat$|exe$)[^.]*$``
Modifying Strings Modifying Strings