@@ -67,8 +67,8 @@ string *pq* will match AB. This holds unless *A* or *B* contain low precedence
6767operations; boundary conditions between *A * and *B *; or have numbered group
6868references. Thus, complex expressions can easily be constructed from simpler
6969primitive expressions like the ones described here. For details of the theory
70- and implementation of regular expressions, consult the Friedl book referenced
71- above, or almost any textbook about compiler construction.
70+ and implementation of regular expressions, consult the Friedl book [ Frie09 ]_,
71+ or almost any textbook about compiler construction.
7272
7373A brief explanation of the format of regular expressions follows. For further
7474information and a gentler presentation, consult the :ref: `regex-howto `.
@@ -492,14 +492,6 @@ three digits in length.
492492 The ``'\N{name}' `` escape sequence has been added. As in string literals,
493493 it expands to the named Unicode character (e.g. ``'\N{EM DASH}' ``).
494494
495- .. seealso ::
496-
497- Mastering Regular Expressions
498- Book on regular expressions by Jeffrey Friedl, published by O'Reilly. The
499- second edition of the book no longer covers Python at all, but the first
500- edition covered writing good regular expression patterns in great detail.
501-
502-
503495
504496.. _contents-of-module-re :
505497
@@ -1585,3 +1577,9 @@ The tokenizer produces the following output::
15851577 Token(typ='END', value=';', line=4, column=27)
15861578 Token(typ='ENDIF', value='ENDIF', line=5, column=4)
15871579 Token(typ='END', value=';', line=5, column=9)
1580+
1581+
1582+ .. [Frie09 ] Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O'Reilly
1583+ Media, 2009. The third edition of the book no longer covers Python at all,
1584+ but the first edition covered writing good regular expression patterns in
1585+ great detail.
0 commit comments