[Python-checkins] r60595 - python/branches/release25-maint/Lib/re.py

guido.van.rossum python-checkins at python.org
Tue Feb 5 18:31:37 CET 2008


Author: guido.van.rossum
Date: Tue Feb  5 18:31:37 2008
New Revision: 60595

Modified:
   python/branches/release25-maint/Lib/re.py
Log:
Backport doc fixes from 2.6.  These are all things that were already
supported but weren't in the docs, like conditional backreferences.


Modified: python/branches/release25-maint/Lib/re.py
==============================================================================
--- python/branches/release25-maint/Lib/re.py	(original)
+++ python/branches/release25-maint/Lib/re.py	Tue Feb  5 18:31:37 2008
@@ -29,7 +29,8 @@
 The special characters are:
     "."      Matches any character except a newline.
     "^"      Matches the start of the string.
-    "$"      Matches the end of the string.
+    "$"      Matches the end of the string or just before the newline at
+             the end of the string.
     "*"      Matches 0 or more (greedy) repetitions of the preceding RE.
              Greedy means that it will match as many repetitions as possible.
     "+"      Matches 1 or more (greedy) repetitions of the preceding RE.
@@ -37,7 +38,7 @@
     *?,+?,?? Non-greedy versions of the previous three special characters.
     {m,n}    Matches from m to n repetitions of the preceding RE.
     {m,n}?   Non-greedy version of the above.
-    "\\"      Either escapes special characters or signals a special sequence.
+    "\\"     Either escapes special characters or signals a special sequence.
     []       Indicates a set of characters.
              A "^" as the first character indicates a complementing set.
     "|"      A|B, creates an RE that will match either A or B.
@@ -50,6 +51,10 @@
     (?#...)  A comment; ignored.
     (?=...)  Matches if ... matches next, but doesn't consume the string.
     (?!...)  Matches if ... doesn't match next.
+    (?<=...) Matches if preceded by ... (must be fixed length).
+    (?<!...) Matches if not preceded by ... (must be fixed length).
+    (?(id/name)yes|no) Matches yes pattern if the group with id/name matched,
+                       the (optional) no pattern otherwise.
 
 The special sequences consist of "\\" and a character from the list
 below.  If the ordinary character is not on the list, then the
@@ -76,6 +81,7 @@
     subn     Same as sub, but also return the number of substitutions made.
     split    Split a string by the occurrences of a pattern.
     findall  Find all occurrences of a pattern in a string.
+    finditer Return an iterator yielding a match object for each match.
     compile  Compile a pattern into a RegexObject.
     purge    Clear the regular expression cache.
     escape   Backslash all non-alphanumerics in a string.
@@ -83,8 +89,10 @@
 Some of the functions in this module takes flags as optional parameters:
     I  IGNORECASE  Perform case-insensitive matching.
     L  LOCALE      Make \w, \W, \b, \B, dependent on the current locale.
-    M  MULTILINE   "^" matches the beginning of lines as well as the string.
-                   "$" matches the end of lines as well as the string.
+    M  MULTILINE   "^" matches the beginning of lines (after a newline)
+                   as well as the string.
+                   "$" matches the end of lines (before a newline) as well
+                   as the end of the string.
     S  DOTALL      "." matches any character at all, including the newline.
     X  VERBOSE     Ignore whitespace and comments for nicer looking RE's.
     U  UNICODE     Make \w, \W, \b, \B, dependent on the Unicode locale.


More information about the Python-checkins mailing list