www.srekcah.org > ~utashiro > docs > regexref

Questions and Errata in
O'Reilly Regular Expression Pocket Reference


These are questionable points and errors found during Japanese translation work of the book. Clear and easy errors are corrected in Japanese edition without author's confirmation. Some of them are suspending and waiting author or editor's comment and/or confirmation.

Negative line number means line count from the bottom.

1st printing (Aug 2003)

Page Line Section Category Original Text and Description Action Official
5 16 Intro Typo For example, \n is often a shorthand for the newline character, which is usually LF (012 octal) but can sometimes be CR (15 octal) depending on the operating system.
015 is better.
fixed
5 -5 Intro Typesetting \x{num}
wrong typeface
fixed
18 6 Perl Semantic The match modes (or rack or), /ismxo are locked in.
locking mode "o" sounds strange.
suspending
19 7 Perl
Table 8
Typesetting $'
shold be $`
fixed
19 14 Perl
Table 8
Typo If true, \m is assumed for all matches without \s.
/m and /s
fixed yes
20 11 Perl
Table 9
Typo IsUppper
IsUpper
fixed
21 21 Perl
Example 4
Questionable }{<a href="$1">$1</a>}igox;
It's not error, but "o" is not necessary.
suspending
23 12 Java
Table 12
Questionable \Z: End of string but before any final line terminator, in any match mode.
Should be or? What does this any mean?
suspending
25 15 Java
Table 14
Questionable {n}+: Match at least n times, and never backtrack.
"at least" seems unnecessary.
2003.12.15

By the way, does the expression {n}+ make any sense? How does it backtrack anyway? The way it can backtrack is only giving up whole match, and it happens only when whole pattern is under the effect of other quantifier - (.{n})?, and that quantifier works even for a possessive pattern - (.{n}+)?.
2003.12.16
NEW!
2003.12.15
Update!
2003.12.16

suspending
29 -8 Java Trivial ...such as \p{Lu}, and not \p{Lowercase_Letter}.
"Lowercase_Letter" is "Ll".
Use \p{Ll}.
36 5 .NET
Table 20
Typesetting $'
shold be $`
fixed
37 1-4 .NET Questionable First and second interfaces are completely identical. Second is unnecessary or either of them is incorrect. suspending
44 15,17 Python
Table 22
Typo Two A-z should be A-Z. fixed
47 -12 Python Semantic Return string with alphanumerics backslashed so that string can be matched literally.
Should be non-alphanumerics.
fixed
52 -6,-7 PCRE
Table 27
Typo Two A-z should be A-Z. fixed
55 17 PCRE
Table 30
Questionable {n}+: Match at least n times, and never backtrack.
Same as p.25 Java Table 14
2003.12.17
NEW!
2003.12.17

suspending
58 25 PCRE Semantic Entry point PCRE uses for pcre_free() calls.
Should be just free().
2003.12.17
NEW!
2003.12.17

fixed
63 -6,-7 PHP
Table 32
Typo Two A-z should be A-Z. fixed
64 21 PHP
Table 34
Typo Table title: Modes
Other tables are using Modifier (Table 6) or Modifier/sequence (Table 13, 18, 24, 29).
Probably all titles should be Modifier/sequence.
2003.12.17
NEW!
2003.12.17

fixed
66 -3 PHP Semantic Each additional element N of matches is an array containing the Nth capture group match for each full match.
"for each full match" seems unnecessary. Probably copied from previous sentence and forgot to delete.
removed
70 -1 vi
Table 37
Semantic dot: Any character except newline (unless /s mode).
Does vi have single-line mode?
suspending
71 4-9 vi
Table 37
Typo Six "A-z" should be "A-Z". fixed
71 22-25 vi
Table 37
Typo Four lines \i,\L,\u,\U are duplicated.
The first \i must have been copied from \l line and modified partially.
removed yes
73 -5 vi
Table 37
Semantic If addr1 is supplied, substitution will begin on that line number (or the first matching line) and continue until either the end of the file or the line indicated (or matched) by addr2.
This description is not correct at least on vim 6.2 and nvi 1.79. Current line is used when either of addr1 and addr2 is omitted. If only addr1 is supplied without following comma, only that line is processed.
suspending
76 3-7 JavaScript Typo Only this table is using hex number preceded by backslash. I'd like to remove them if there is no specific reason.
2003.12.17
NEW!
2003.12.17

suspending
76 7 JavaScript Typo \t: Vertical tab, \x0B.
Should be \v.
fixed
77 -3 JavaScript Typo? {n}?
Should be {n,}?.
2004.01.06
NEW!
2004.01.06

fixed
78 8 JavaScript Typesetting /pattern/img.
incorrect typeface.
fixed
83 13 Shell Tools Semantic [:prop:]
Not wrong but [[:prop:]] is more symmetrical to the next line.
suspending
83 17 Shell Tools
Table 48
Semantic Table 48: Anchors and other zero-width testshell tools
"shell tools" seems unnecessary or something is missing between test and shell.
removed
84 -2 Shell Tools Trivial A supplied regular expression must be defined within the forward slash delimiters (/...).
Seems /.../ is better.
fixed
85 -10 Shell Tools Typesetting The awk script contained in either instructions or script should be a series of /pattern/ {action} pairs.
wrong typeface
fixed

$Revision: 1.13 $
Last Modified: $Date: 2004-02-08 00:28:33+09 $