Errata for Sams Teach Yourself Regular Expressions in 10 Minutes

As much as I’d like to be able to produce completely error free books, the reality of the computer publishing industry is that the pace at which books must be written and released makes this very difficult. And regretfully, my own books do have sporadic mistakes and typos scattered throughout them.

For the benefit of my readers, here is a current errata for Sams Teach Yourself Regular Expressions in 10 Minutes. Feel free to print this page for future reference.

And as always, if you come across errors that I do not know about, please let me know. I’ll make sure they are added to this list, and will try to have them corrected in future reprints.

Original printing (150 pages, published February 28, 2004)

24Snippet starting “[ABCDEF”Final 0 should not be there
262nd line before NOTE, words: by the specifiedShould be: but the specified
333rd line from the bottom of the page.Should read: myArray\[[0-9]\], which is shorthand for myArray\[[0123456789]\].
412nd line before TIP, words: any digitsShould be: any digit
44Third paragraph: To demonstrate the use of +Should be: To demonstrate the use of *
45Result code block.The period (.) before “ben” should not be highlighted.
46First line of body: Like +Should be: Like *
46Second line of body: But unlike +Should be: But unlike *
58Second RegEx code block.Should read: cap\b
60Second note, sixth line, “opening ]”.Should read: opening [
60Line beginning “attributes”: <xmlShould read: <?xml
70ANALYSIS block refers to Lesson 3 for more on |This is incorrect, | is not introduced previously
72RegEx to find IP addressesShould be: (((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((1\d{2})|(2[0-4]\d)|(25[0-5])|(\d{1,2}))
88Second Text block.Should contain no highlighted text.
95Text of 2nd analysis block, words: Because there is $Should be: Because there is no $
96Last line, words “and negative lookahead”.Should read: and negative lookbehind.
102First result block, third lineThe – should not be highlighted
106Third bullet after the note, text “$’ returns everything after the matched string”.$’ should be $`.
114Last bullet on page, text “$’ returns everything after the matched string”.$’ should be $`.
116Line beginning java.util.rgex.matcher, opening wordsShould be: java.util.regex.Matcher
122Result block, 3rd line.Highlight should be on “NW11 8AB”.
131First Result block.The MasterCard number should be highlighted.
131Credit card examples, Discover cardDiscover cards have 16 digits numbers, but the examples show 18 digits
133First RegEx exampleShould be: 6011\d{12}
134RegEx example: (6011\d{14})Shoud be: (6011\d{12})
139? in index, text: zero or moreShould be: zero or one
139First column: ^ (carrot)Should be: ^ (caret)
143^ (carrot)Should be: ^ (caret)
153Inside back cover, Backreferences section, character ?!=.Should be: ?<! negative lookbehind
153Inside back cover, Quantifiers section, description of {n,}?.Should read: “Lazy version of {n,}”.