Full Index -- use your browser's find function to search.
\?
139
\<...\>
21,
25, 50, 131-132, 150
\<...\>,
in egrep
15
\<...\>, in
Emacs
100
\<...\>, mimicking in
Perl
341-342
\+
139
\(...\)
135
`\+'
history 87
\0
116-117
\1
136, 300, 303
\1, in
Perl
41
\A
111, 127-128
\A, in
Java
373
\A,
optimization
246
\a
114-115
\b
65, 114-115, 400
\b, backspace and word
boundary
44, 46
\b, in
Perl
286
\b\B
240
\C
328
\D
49, 119
\d
49, 119
\d, in
Perl
288
\e
79, 114-115
\E
290
\f
114-115
\f, introduced
44
\G
128-131, 212, 315-316,
362
\G, advanced
example
130
\G, in
Java
373
\G,
in .NET
402
\G, optimization
246
\G, optimization, \kname
(see
named capture)
\l
290
\L...\E
290
\L...\E, inhibiting
292
\n
49, 114-115
\n, introduced
44
\n, machine-dependency
114
\N{LATIN SMALL LETTER SHARP
S}
290
\N{name}
290
\N{name}, inhibiting
292
\p{...}
119
\p{^...}
288
\p{all}
380
\p{All}
123
\p{All}, in
Perl
288
\p{Any}
123
\p{Any}, in
Perl
288
\p{Arrows}
122
\p{Assigned}
123-124
\p{Assigned}, in
Perl
288
\p{Basic_Latin}
122
\p{Box_Drawing}
122
\p{C}
120
\p{Cc}
121
\p{Cf}
121
\p{Cherokee}
120
\p{Close_Punctuation}
121
\p{Cn}
121,
123-124, 380, 401
\p{Co}
121
\p{Connector_Punctuation}
121
\p{Control}
121
\p{Currency}
122
\p{Currency_Symbol}
121
\p{Cyrillic}
120, 122
\p{Dash_Punctuation}
121
\p{Decimal_Digit_Number}
121
\p{Dingbats}
122
\p{Enclosing_Mark}
121
\p{Final_Punctuation}
121
\p{Format}
121
\p{Gujarati}
120
\p{Han}
120
\p{Hangul_Jamo}
122
\p{Hebrew}
120,
122
\p{Hiragana}
120
\p{InArrows}
122
\p{InBasic_Latin}
122
\p{InBox_Drawing}
122
\p{InCurrency}
122
\p{InCyrillic}
122
\p{InDingbats}
122
\p{InHangul_Jamo}
122
\p{InHebrew}
122
\p{Inherited}
122
\p{Initial_Punctuation}
121
\p{InKatakana}
122
\p{InTamil}
122
\p{InTibetan}
122
\p{IsCherokee}
120
\p{IsCommon}
122
\p{IsCyrillic}
120
\p{IsGujarati}
120
\p{IsHan}
120
\p{IsHebrew}
120
\p{IsHiragana}
120
\p{IsKatakana}
120
\p{IsLatin}
120
\p{IsThai}
120
\p{IsTibetan}
122
\p{Katakana}
120, 122
\p{L}
119-120, 131, 380, 390
\p{L&}
120-121,
123
\p{L&}, in
Perl
288
\p{Latin}
120
\p{Letter}
120, 288
\p{Letter_Number}
121
\p{Line_Separator}
121
\p{Ll}
121,
400
\p{Lm}
121,
400
\p{Lo}
121,
400
\p{Lowercase_Letter}
121
\p{Lt}
121,
400
\p{Lu}
121,
400
\p{M}
120,
125
\p{Mark}
120
\p{Math_Symbol}
121
\p{Mc}
121
\p{Me}
121
\p{Mn}
121
\p{Modifier_Letter}
121
\p{Modifier_Symbol}
121
\p{N}
120,
390
\p{Nd}
121, 380,
400
\p{Nl}
121
\p{No}
121
\p{Non_Spacing_Mark}
121
\p{Number}
120
\p{Open_Punctuation}
121
\p{Other}
120
\p{Other_Letter}
121
\p{Other_Number}
121
\p{Other_Punctuation}
121
\p{Other_Symbol}
121
\p{P}
120
\p{Paragraph_Separator}
121
\p{Pc}
121,
400
\p{Pd}
121
\p{Pe}
121
\p{Pf}
121,
400
\p{Pi}
121,
400
\p{Po}
121
\p{Private_Use}
121
\p{Ps}
121
\p{Punctuation}
120
\p{S}
120
\p{Sc}
121-122
\p{Separator}
120
\p{Sk}
121
\p{Sm}
121
\p{So}
121
\p{Space_Separator}
121
\p{Spacing_Combining_Mark}
121
\p{Symbol}
120
\p{Tamil}
122
\p{Thai}
120
\p{Tibetan}
122
\p{Titlecase_Letter}
121
\p{Unassigned}
121, 123
\p{Unassigned}, in
Perl
288
\p{Uppercase_Letter}
121
\p{Z}
119-120,
380, 400
\p{Zl}
121
\p{Zp}
121
\p{Zs}
121
\Q...\E
290
\Q...\E, inhibiting
292
\Q...\E, in
Java
373
\r
49, 114-115
\r, machine-dependency
114
\s
49, 119
\s, introduction
47
\s, in
Emacs
127
\s,
in Perl
288
\S
49, 56, 119
\t
49, 114-115
\t, introduced
44
\u
116, 290, 400
\U
116
\U...\E
290
\U...\E, inhibiting
292
\V
364
\v
114-115, 364
\W
49, 119
\w
49, 65, 119
\w, in
Emacs
127
\w,
many different interpretations
93
\w, in
Perl
288
\x
116, 400
\x, in
Perl
286
\X
107, 125
\z
111, 127-128, 316
\z, in
Java
373
\z,
optimization
246
\Z
111, 127-128
\Z, in
Java
373
\Z,
optimization
246
//
322
/c
129-130, 315
/e
319-321
/g
61, 130, 307, 311-312,
315, 319
/g, introduced
51
/g, with regex
object
354
/i
134
/i, introduced
47
/i, with
study
359
/m
134
/o
352-353
/o, with regex
object
354
/osmosis
293
/s
134
/x
134, 288
/x, introduced
72
/x, history
90
-Dr
363
-i
as -y 86
-y
old grep
86
<>
54
<>, and
$_
79
!~
309
$_
79, 308, 311, 314, 318,
322, 353-354, 359
$_, in
.NET
418
$&
299-300
$&, checking
for
358
$&, mimicking
302, 357
$&, naughty
356
$&, in
.NET
418
$&, okay for
debugging
331
$&, pre-match
copy
355
$$
in .NET 418
$*
362
$
111-112, 128
$, escaping
77
$, optimization
246
$, Perl
interpolation
289
$+
300-301, 345
$+, example
202
$+, .NET
202
$+, in
.NET
418
$/
35, 78
$'
300
$', checking
for
358
$',
mimicking
357
$', naughty
356
$', in
.NET
418
$',
okay for debugging
331
$', pre-match
copy
355
$`
300
$`, checking
for
358
$`,
mimicking
357
$`, naughty
356
$`, in
.NET
418
$`,
okay for debugging
331
$`, pre-match
copy
355
$0
300
$1
135-136, 300, 303
$1, introduced
41
$1, in
Java
388
$1,
in .NET
418
$1, in other
languages
136
$1, pre-match
copy
355
$ARGV
79
$HostnameRegex
76, 136, 303,
351
$HttpUrl
303,
305, 345, 351
$LevelN
330, 343
$^N
300-301, 344-346
${name}
403
${name~}
418
$NestedStuffRegex
339,
346
$^R
302,
327
$^W
297
%
Perl interpolation
289
(?!)
240, 333,
335, 340-341
(?#...)
99, 134,
414
(?#...), in
Java
373
(?#...), in Java,
(?:...)
(see
non-capturing parentheses)
(?#...),
in Java, (...)
(see
parentheses)
(?#...), in Java, (?i)
(see: case-insensitive
mode; mode modifier)
(?#...), in Java, (?i:...)
(see
mode-modified span)
(?#...), in Java, (?if
then|else)
(see conditional)
(?#...), in Java, (?m:...)
(see
mode-modified span)
(?#...), in Java, (?m)
(see: enhanced
line-anchor mode; mode modifier)
(?n)
402
.*, introduced
55
.*, mechanics of
matching
152
.*, optimization
246
.*, warning
about
56
.NET
399-432
.NET, $+
202
.NET, flavor
overview
91
.NET,
after-match data
136
.NET, benchmarking
236
.NET, JIT
404
.NET, line
anchors
128
.NET,
literal-text mode
135
.NET, MISL
404
.NET, object
model
411
.NET, regex approach
96-97
.NET, regex
flavor
401
.NET, search-and-replace
408,
417-418
.NET, URL parsing
example
204
.NET,
version covered
91
.NET, word
boundaries
132
=~
308-309, 318
=~, introduced
38
=~, introduced, ?
(see question
mark)
?...?
308
@+
300, 302,
314
@"..."
102
@-
300, 302,
339
@
Perl
interpolation 289
[=...=]
126
[:<:]
92
[:...:]
125-126
[.....]
126
\p{...}
in java.util.regex
380
^
111-112,
128
^, optimization
245-246
^Subject: example
94,
151-152, 154, 242, 244-245, 289
^Subject:
example, in Java
95,
393
^Subject: example, in
Perl
55
^Subject:
example, in Perl
debugger
361
^Subject: example, in
Python
97
^Subject:
example, in VB.NET
96
{min,max}
20, 140
\0
116-117
$0
300
\1
136, 300,
303
\1, in
Perl
41
$1
135-136, 300, 303
$1, introduced
41
$1, in
Java
388
$1,
in .NET
418
$1, in other
languages
136
$1, pre-match
copy
355
8859-1
encoding
29, 87, 105, 107, 121
\A
111, 127-128
\A, in
Java
373
\A,
optimization
246
@
escaping 77
\a
114-115
issues overview encoding
105
after-match variables, in
Perl
299
after-match
variables, pre-match
copy
355
Aho,
Alfred
86, 180
\p{All}
123
\p{All}, in
Perl
288
\p{all}
380
all-in-one object model
369
alternation
138
alternation, and
backtracking
231
alternation, introduced
13-14
alternation, efficiency
222, 231
alternation, greedy
174-175
alternation, hand
tweaking
260-261
alternation, order
of
175-177, 223, 260
alternation, order of, for correctness
28, 189,
197
alternation, order of,
for efficiency
224
alternation, and
parentheses
13
analogy, backtracking, bread crumbs
158-159
analogy, backtracking, stacking dishes
159
analogy, ball
rolling
261
analogy,
building a car
31
analogy, charging
batteries
179
analogy,
engines
143-147
analogy, first come, first
served
153
analogy,
gas additive
150
analogy, learning regexes, Pascal
36
analogy, learning regexes, playing rummy
33
analogy, regex as a
language
5, 27
analogy, regex as filename
patterns
4
analogy,
regex as filename patterns, regex-directed match
(see
NFA)
analogy, regex as filename
patterns, text-directed
match
(see DFA)
analogy, transmission
148-149, 228
analogy, transparencies (Perl's
local)
298
analogy, transparencies (Perl's
local), anchor
(also see: word boundaries; enhanced line-anchor mode)
analogy, overview
127
analogy, caret
127
analogy, dollar
127
analogy, end-of-line
optimization
246
analogy, exposing
255
analogy, line
87, 111-112, 150
anchored(...)
362
anchored
`string'
362
AND
class set operations
123-124
ANSI escape sequences
79
\p{Any}
123
\p{Any}, in
Perl
288
\p{Any}, in Perl, any character
(see dot)
Apache, org.apache.xerces.utils.regex
372
Apache, ORO
392-398
Apache, ORO, benchmark results
376
Apache, ORO, comparative description
374
Apache, Regexp, comparative description
375
Apache, Regexp, speed
376
appendReplacement()
388
appendTail()
389
$ARGV
79
\p{Arrows}
122
ASCII encoding
29,
105-106, 114, 121
Asian character
encoding
29
AssemblyName
429
\p{Assigned}
123-124
\p{Assigned}, in
Perl
288
\p{Assigned}, in Perl, asterisk
(see star)
\p{Assigned}, in Perl, atomic grouping
(also see possessive
quantifiers)
\p{Assigned}, introduced
137-138
\p{Assigned}, details
170-172
\p{Assigned}, for
efficiency
171-172, 259, 268-270
\p{Assigned}, essence
170-171
\p{Assigned}, example
198, 201, 213, 271, 330,
340-341, 346
AT&T Bell
Labs
86
auto-lookaheadification
403
automatic possessification
251
awk, after-match
data
136
awk, gensub
183
awk, history
87
awk, search-and-replace
99
awk, version
covered
91
awk, word boundaries
132
\b
65, 114-115, 400
\b, backspace and word
boundary
44, 46
\b, in
Perl
286
<B>...</B>
165-167
<B>...</B>,
unrolling
270
\b\B
240
backreferences
117, 135
backreferences, introduced with
egrep
20-22
backreferences, DFA
150, 182-183
backreferences, vs. octal
escape
406-407
backreferences, remembering
text
21
backreferences, remembering text, backspace
(see \b)
backtracking
163-177
backtracking, introduction
157-163
backtracking, and
alternation
231
backtracking, avoiding
171-172
backtracking, computing
count
227
backtracking, counting
222, 224
backtracking, detecting
excessive
249-250
backtracking, efficiency
179-180
backtracking, essence
168-169
backtracking, exponential
match
226
backtracking, global
view
228-232
backtracking, LIFO
159
backtracking, of
lookaround
173-174
backtracking, neverending
match
226
backtracking, non-match
example
160-161
backtracking, POSIX NFA
example
229
backtracking, saved
states
159
backtracking, simple
example
160
backtracking, simple lazy
example
161
balanced
constructs
328-331, 340-341, 430
balancing regex issues
186
Balling, Derek
xxii
Barwise, J.
85
base
character
107, 125
Basic
Regular Expressions
87-88
\p{Basic_Latin}
122
\b\B
240
beginOffset
396
benchmarking
232-239
benchmarking, comparative
248, 376-377
benchmarking, compile
caching
351
benchmarking, in
Java
234-236, 375-377
benchmarking, for naughty
variables
358
benchmarking, in
.NET
236, 404
benchmarking, with neverending
match
227
benchmarking, in
Perl
360
benchmarking,
pre-match copy
356
benchmarking, in
Python
237
benchmarking, in
Ruby
238
benchmarking,
in Tcl
239
Bennett, Mike
xxi
Berkeley
86
Better-Late-Than-Never
234-236,
375
<B>...</B>
165-167
<B>...</B>,
unrolling
270
blocks
122, 288, 380, 400
BLTN
235-236, 375
BOL
362
\p{Box_Drawing}
122
Boyer-Moore
244, 247
bracket expressions
125
BRE
87-88
bread-crumb analogy
158-159
Bulletin of Math. Biophysics
85
bump-along, introduction
148-149
bump-along, avoiding
210
bump-along, distrusting
215-218
bump-along, optimization
255
bump-along, in overall
processing
241
byte
matching 328
/c
129-130, 315
/c, strings
102
\p{C}
120
\C
328
¢
122
C
comments, matching
272-276
C comments, unrolling
275-276
C comments, unrolling, caching
(also see regex
objects)
C comments, benchmarking
351
C
comments, compile
242-244
C comments, in
Emacs
244
C comments,
integrated
242
C comments, in
Java
393
C comments,
in .NET
426
C comments, object-oriented
244
C comments, procedural
243
C
comments, in Tcl
244
C comments, unconditional
350
CANON_EQ (Pattern
flag)
108, 380
Capture
431
CaptureCollection
432
car analogy
83-84
caret anchor
introduced
8
carriage return
109
case
title 109
case folding
290, 292
case folding, inhibiting
292
CASE_INSENSITIVE (Pattern
flag)
95, 109, 380, 383
case-insensitive mode
109
case-insensitive mode, introduced
14-15
case-insensitive mode, egrep
14-15
case-insensitive mode, /i
47
case-insensitive mode, Ruby
109
case-insensitive mode, with
study
359
cast
294-295
\p{Cc}
121
\p{Cf}
121
character, base
125
character, classes
117
character, combining
107, 125, 288
character, combining, Inherited script
122
character, vs. combining
characters
107
character, control
116
character, initial character
discrimination
244-246, 249, 251-252, 257-259,
332, 361
character, machine-dependent
codes
114
character,
multiple code points
107
character, as opposed to
byte
29
character,
separating with split
322
character, shorthands
114-115
character class, introduced
9-10
character class, vs.
alternation
13
character
class, mechanics of
matching
149
character
class, negated, must match
character
11-12
character
class, negated, and
newline
118
character
class, negated, Tcl
111
character
class, positive
assertion
118
character
class, of POSIX bracket
expression
125
character
class, range
9,
118
character class, as separate
language
10
character
equivalent
126
CharacterIterator
372
charnames pragma
290
CharSequence
372, 390
CheckNaughtiness
358
\p{Cherokee}
120
Chinese text processing
29
chr
414
chunk limit, Java
ORO
395
chunk limit,
java.util.regex
391
chunk limit, Perl
323
class, vs. dot
118
class, elimination
optimization
249
class, initial class
discrimination
244-246, 249, 251-252, 257-259,
332, 361
class, and lazy
quantifiers
167
class,
set operations
123-125,
375
class, subtraction
124
Clemens, Sam
375
Click, Cliff
xxii
client VM
234, 236
clock clicks
239
\p{Close_Punctuation}
121
closures
339
\p{Cn}
121, 123-124, 380,
401
\p{Co}
121
code point, introduced
106
code point, beyond
U+FFFF
108
code
point, multiple
107
code point, unassigned in
block
122
coerce
294-295
cold
VM
235
collating
sequences
126
combining
character
107, 125, 288
combining character, Inherited
script
122
com.ibm.regex, comparative
description
372
com.ibm.regex, speed
377
commafying a number example
64-65
commafying a number example, introduced
59
commafying a number example, in
Java
393
commafying a number
example, without
lookbehind
67
COMMAND.COM
7
comments
99, 134
comments, in
Java
98
comments,
matching of C comments
272-276
comments, matching of Pascal
comments
265
comments,
in .NET regex
414
COMMENTS (Pattern
flag)
99, 218, 378, 380, 386
comments and free-spacing mode
110
Communications of the
ACM
85
compile()
383
compile, caching
242-244
compile, once
(/o)
352-353
compile, on-demand
351
compile, regex
404-405
compile() (Pattern
factory)
383
Compiled (.NET)
236, 402,
404, 414, 421-422, 429
Compilers -- Principles,
Techniques, and Tools
180
CompileToAssembly
427,
429
com.stevesoft.pat, comparative description
374
com.stevesoft.pat, speed
377
conditional
138-139
conditional, with embedded
regex
327, 335
conditional, in
Java
373
conditional,
mimicking with lookaround
139
conditional, in
.NET
403
Config
module
290, 299
conflicting
metacharacters
44-46
\p{Connector_Punctuation}
121
Constable, Robert
85
Constable, Robert, forcing
310
Constable, Robert, metacharacters
44-46
Constable, Robert, regex
use
189
continuation
lines
178, 186-187
continuation lines, unrolling
270
contorting an expression
294-295
\p{Control}
121
control characters
116
Conway, Damian
339
cooking for HTML
68,
408
correctness
vs.
efficiency 223-224
www.cpan.org
358
CR
109, 382
Cruise,
Tom
51
crummy
analogy
158-159
CSV parsing
example, java.util.regex
218,
386
CSV parsing example, .NET
429
CSV
parsing example, ORO
397
CSV parsing example, Perl
212-219
CSV
parsing example, unrolling
271
currency, \p{Currency}
122
currency, \p{Currency_Symbol}
121
currency, \p{Sc}
121
currency, Unicode
block
121-122
\p{Currency}
122
\p{Currency_Symbol}
121
currentTimeMillis()
236
\p{Cyrillic}
120, 122
\d
49,
119
\d, in
Perl
288
\D
49, 119
Darth
197
dash in
character class
9
\p{Dash_Punctuation}
121
DBIx::DWIW
258
debugcolor
363
debugging
361-363
debugging, with embedded
code
331-332
debugging, regex
objects
305-306
debugging, run-time
362
\p{Decimal_Digit_Number}
121
default regex
308
define-key
100
delegate
417-418
delimited text
196-198
delimited text, standard
formula
196, 273
delimiter, with
shell
7
delimiter,
with substitution
319
delimiter, with substitution, Deterministic Finite Automaton
(see
DFA)
Devel::FindAmpersand
358
Devel::SawAmpersand
358
DFA, introduced
145, 155
DFA, acronym spelled
out
156
DFA, backreferences
150, 182-183
DFA, boring
157
DFA, compared with
NFA
224, 227
DFA,
efficiency
179
DFA, implementation
ease
182
DFA, lazy evaluation
181
DFA, longest-leftmost
match
177-179
DFA,
testing for
146-147
DFA, in theory, same as an
NFA
180
dialytika
108
\p{Dingbats}
122
dish-stacking analogy
159
dollar
for Perl variable 37
dollar anchor
127
dollar anchor, introduced
8
dollar value example
24-25, 51-52,
167-170, 175, 194-195
DOS
7
dot
118
dot, introduced
11-12
dot, vs. character
class
118
dot, mechanics of matching
149
dot, Tcl
112
.NET
399-432
.NET, $+
202
.NET, flavor
overview
91
.NET,
after-match data
136
.NET, benchmarking
236
.NET, JIT
404
.NET, line
anchors
128
.NET,
literal-text mode
135
.NET, MISL
404
.NET, object
model
411
.NET, regex approach
96-97
.NET, regex
flavor
401
.NET, search-and-replace
408,
417-418
.NET, URL parsing
example
204
.NET,
version covered
91
.NET, word
boundaries
132
DOTALL (Pattern
flag)
380, 382
dot-matches-all mode
110-111
doubled-word example, description
1
doubled-word example, in
egrep
22
doubled-word
example, in Emacs
100
doubled-word example, in
Java
81
doubled-word
example, in Perl
35,
77-80
double-quoted string example, allowing escaped quotes
196
double-quoted string example, egrep
24
double-quoted string example, final
regex
263
double-quoted
string example, makudonarudo
165, 169,
228-232, 264
double-quoted string example, sobering example
222-228
double-quoted string example, unrolled
262, 268
double-word finder example, description
1
double-word finder example, in
egrep
22
double-word
finder example, in Emacs
100
double-word finder example, in
Java
81
double-word finder
example, in Perl
35,
77-80
-Dr
363
dragon book
180
DWIW (DBIx)
258
dynamic regex
327-331
dynamic regex, sanitizing
337
dynamic scope
295-299
dynamic scope, vs. lexical
scope
299
/e
319-321
\e
79, 114-115
\E
290
earliest match wins
148-149
EBCDIC
29
ECMAScript (.NET)
400, 402,
406-407, 415, 421
ed
85
ed, and
backtracking
179-180
ed, correctness
223-224
ed, Perl-specific
issues
347-363
ed, regex
objects
353-354
ed, unlimited
lookbehind
133
egrep, flavor
overview
91
egrep, introduced
6-8
egrep, metacharacter
discussion
8-22
egrep, after-match
data
136
egrep,
backreference support
150
egrep, case-insensitive
match
15
egrep,
doubled-word solution
22
egrep, example
use
14
egrep,
flavor summary
32
egrep, history
86-87
egrep, regex
implementation
182
egrep, version
covered
91
egrep, word
boundaries
132
electric
engine analogy
143-147
Emacs, flavor
overview
91
Emacs,
after-match data
136
Emacs, control
characters
116
Emacs,
re-search-forward
100
Emacs, search
100
Emacs, strings as
regexes
100
Emacs,
syntax class
127
Emacs, version
covered
91
Emacs,
word boundaries
132
email address example
70-73,
98
email address example, in
Java
98
email address
example, in VB.NET
99
embedded code, local
336
embedded code, my
338-339
embedded code, regex
construct
327, 331-335
embedded code, sanitizing
337
embedded string check optimization
247, 257
Embodiments of
Mind
85
Empty
426
\p{Enclosing_Mark}
121
\p{Enclosing_Mark}, introduced
29
\p{Enclosing_Mark}, issues
overview
105
\p{Enclosing_Mark}, ASCII
29, 105-106, 114, 121
\p{Enclosing_Mark}, Latin-1
29, 87, 105, 107,
121
\p{Enclosing_Mark}, UCS-2
106
\p{Enclosing_Mark}, UCS-4
106
\p{Enclosing_Mark}, UTF-16
106
\p{Enclosing_Mark}, UTF-8
106
end()
385
END block
358
endOffset
396
end-of-string anchor optimization
246
engine, introduced
27
engine, analogy
143-147
engine, hybrid
183, 239, 243
engine, implementation
ease
182
engine, testing type
146-147
engine, testing type, with neverending match
227
engine, type
comparison
156-157, 180-182
English module
357
English vs. regex
275
enhanced line-anchor mode
111-112
enhanced line-anchor mode, introduced
69
ERE
87-88
errata
xxi
Escape
427
escape, introduced
22
escape, term
defined
27
essence,
atomic grouping
170-171
essence, greediness,
laziness, and backtracking
168-169
essence, greediness, laziness, and
backtracking, NFA
(see
backtracking)
eval
319
example, atomic
grouping
198, 201, 213, 271, 330, 340-341,
346
example, commafying a
number
64-65
example,
commafying a number, introduced
59
example, commafying a number, in Java
393
example, commafying a number, without lookbehind
67
example, CSV parsing, java.util.regex
218,
386
example, CSV parsing,
.NET
429
example, CSV parsing, ORO
397
example, CSV parsing, Perl
212-219
example, CSV parsing, unrolling
271
example, dollar
value
24-25, 51-52, 167-170, 175,
194-195
example, double-quoted
string, allowing escaped
quotes
196
example,
double-quoted string, egrep
24
example, double-quoted string, final regex
263
example, double-quoted string, makudonarudo
165, 169,
228-232, 264
example, double-quoted
string, sobering
example
222-228
example, double-quoted string, unrolled
262, 268
example, double-word finder, description
1
example, double-word finder, in egrep
22
example, double-word finder, in Emacs
100
example, double-word finder, in Java
81
example, double-word finder, in Perl
35, 77-80
example, email
address
70-73, 98
example, email address, in Java
98
example, email address, in VB.NET
99
example, filename
190-192
example, five
modifiers
316
example,
floating-point number
194
example, form
letter
50-51
example,
gr[ea]y
9
example, hostname
22, 73, 76, 98-99, 136-137,
203, 260, 267, 304, 306
example, hostname, egrep
25
example, hostname, Java
209
example, hostname, plucking from text
71-73,
205-208
example, hostname,
in a URL
74-77
example, hostname, validating
203-205
example, hostname, VB.NET
204
example, HTML, conversion from text
67-77
example, HTML, cooking
68, 408
example, HTML, encoding
408
example, HTML, <HR>
194
example, HTML, link
201-203
example, HTML, optional
139
example, HTML, paired
tags
165
example,
HTML, parsing
130, 315, 321
example, HTML, tag
9, 18-19, 26, 200-201, 326,
357
example, HTML, URL
74-77, 203, 205-208,
303
example, HTML, URL-encoding
320
example, IP
5,
187-189, 267, 311, 314, 348-349
example, Jeffs
61-64
example, lookahead
61-64
example, mail
processing
53-59
example, makudonarudo
165, 169,
228-232, 264
example, pathname
190-192
example, population
59
example, possessive
quantifiers
198, 201
example, postal
code
208-212
example,
regex overloading
341-345
example, stock
pricing
51-52, 167-168
example, stock pricing, with alternation
175
example, stock pricing, with atomic grouping
170
example, stock pricing, with possessive quantifier
169
example, temperature
conversion, in .NET
419
example, temperature
conversion, in Java
389
example, temperature
conversion, in Perl
37
example, temperature
conversion, Perl
one-liner
283
example,
text-to-HTML
67-77
example, this|that
132, 138, 243,
245-246, 252, 255, 260-261
example, unrolling the loop
270-271
example, URL
74-77, 201-204, 208, 260, 303-304, 306, 320
example,
URL, egrep
25
example, URL, Java
209
example, URL, plucking
205-208
example, username
73, 76, 98
example, username, plucking from text
71-73
example, username, in
a URL
74-77
example,
variable names
24
example, ZIP
code
208-212
exception, IllegalArgumentException
383, 388
exception, IllegalStateException
385
exception, IndexOutOfBoundsException
384-385, 388
exception, IOException
81
exception, NullPointerException
396
exception, PatternSyntaxException
381,
383
Explicit
(Option)
409
ExplicitCapture (.NET)
402,
414, 421
exponential match
222-228, 330, 340
exponential match, avoiding
264-265
exponential match, discovery
226-228
exponential match, explanation
226-228
exponential match, non-determinism
264
exponential match, short-circuiting
250
exponential match, solving with atomic
grouping
268
exponential
match, solving with possessive
quantifiers
268
expose
literal text
255
expression, context
294-295
expression, contorting
294-295
Extended Regular Expressions
87-88
\f
114-115
\f, introduced
44
\f, introduced, Fahrenheit
(see temperature
conversion example)
failure, atomic
grouping
171-172
failure, forcing
240, 333, 335,
340-341
FF
109
file globs
4
file-check example
2, 36
filename, example
190-192
filename, patterns
(globs)
4
filename, prepending to
line
79
\p{Final_Punctuation}
121
find()
384
FindAmpersand
358
five modifiers example
316
Flanagan, David
xxii
flavor, Perl
286-293
flavor, superficial chart, general
91
flavor, superficial chart, Perl
285, 287
flavor, superficial chart, POSIX
88
flavor, term
defined
27
flex
version covered
91
floating
`string'
362
floating-point number example
194
forcing failure
240, 333,
335, 340-341
foreach vs. while vs.
if
320
form letter
example
50-51
\p{Format}
121
freeflowing regex
277-281
Friedl, Alfred
176
Friedl, brothers
33
Friedl, Fumie
xxi
Friedl, Fumie, birthday
11-12
Friedl, Liz
33
Friedl, Stephen
xxii
fully qualified name
295
functions
related to regexes in Perl
285
\G
128-131, 212,
315-316, 362
\G, advanced
example
130
\G, in
Java
373
\G,
in .NET
402
\G, optimization
246
/g
61, 130, 307, 311-312,
315, 319
/g, introduced
51
/g, with regex
object
354
garbage
collection
Java benchmarking 236
gas engine analogy
143-147
gensub
183
George, Kit
xxii
GetGroupNames
421-422
GetGroupNumbers
421-422
getMatch()
397
global vs. private
Perl
variables 295
globs
filename
4
GNU
Java packages
374
GNU awk, after-match
data
136
GNU awk,
gensub
183
GNU awk, version
covered
91
GNU awk,
word boundaries
132
GNU egrep, after-match
data
136
GNU
egrep, backreference
support
150
GNU
egrep, doubled-word
solution
22
GNU
egrep, -i
bug
21
GNU
egrep, regex
implementation
182
GNU
egrep, word
boundaries
132
GNU
egrep, word boundaries, GNU Emacs
(see Emacs)
GNU grep, shortest-leftmost
match
183
GNU
grep, version
covered
91
GNU sed,
after-match data
136
GNU sed, version
covered
91
GNU sed,
word boundaries
132
gnu.regexp, comparative
description
374
gnu.regexp, speed
377
gnu.rex
374
Goldberger, Ray
xxii
Gosling, James
89
GPOS
362
gr[ea]y example
9
gr[ea]y example, introduced
151
gr[ea]y example, alternation
174-175
gr[ea]y example, and
backtracking
162-177
gr[ea]y example, deference to an
overall match
153, 274
gr[ea]y example, essence
159, 168-169
gr[ea]y example, favors
match
167-168
gr[ea]y example, first come, first
served
153
gr[ea]y
example, global vs.
local
182
gr[ea]y
example, in Java
373
gr[ea]y example, vs.
lazy
169, 256-257
gr[ea]y example, localizing
225-226
gr[ea]y example, quantifier
139-140
gr[ea]y example, too
greedy
152
green
dragon
180
grep, flavor
overview
91
grep, as an
acronym
85
grep, history
86
grep, regex
flavor
86
grep,
version covered
91
grep, -y
option
86
grep
in Perl 324
group(), java.util.regex
385
group(), ORO
396
Group object (.NET)
412
Group object (.NET), Capture
431
Group object (.NET), creating
423
Group object (.NET), Index
424
Group object (.NET), Length
424
Group object (.NET), Success
424
Group object (.NET), ToString
424
Group object (.NET), using
424
Group object (.NET), Value
424
GroupCollection
423,
432
groupCount()
385
grouping
and capturing
20-22
GroupNameFromNumber
421-422
GroupNumberFromName
421-422
groups()
ORO
397
Groups
Match object method 423
\p{Gujarati}
120
Gutierrez, David
xxii
\p{Han}
120
hand tweaking, alternation
260-261
hand tweaking, caveats
253
\p{Hangul_Jamo}
122
HASH(0x80f60ac)
257
\p{Hebrew}
120, 122
hex escape
116-117
hex escape, in
Java
373
hex escape,
in Perl
286
Hietaniemi, Jarkko
xxii
highlighting
with ANSI escape
sequences 79
\p{Hiragana}
120
history, `\+'
87
history, AT&T Bell
Labs
86
history, awk
87
history, Berkeley
86
history, ed
trivia
86
history,
egrep
86-87
history, grep
86
history, lex
87
history, Perl
88-90, 308
history, of
regexes
85-91
history,
sed
87
history, underscore in
\w
89
history, /x
90
hostname example
22, 73, 76, 98-99,
136-137, 203, 260, 267, 304, 306
hostname example,
egrep
25
hostname example, Java
209
hostname
example, plucking from
text
71-73, 205-208
hostname
example, in a URL
74-77
hostname example, validating
203-205
hostname example, VB.NET
204
$HostnameRegex
76, 136, 303,
351
hot VM
235, 375
HTML, cooking
68, 408
HTML, matching
tag
200-201
HTML
example, conversion from
text
67-77
HTML
example, cooking
68,
408
HTML example, encoding
408
HTML
example, <HR>
194
HTML example, link
201-203
HTML
example, optional
139
HTML example, paired
tags
165
HTML example,
parsing
130, 315, 321
HTML example, tag
9, 18-19, 26, 200-201, 326,
357
HTML example, URL
74-77, 203, 205-208, 303
HTML example, URL-encoding
320
HTTP
newlines 115
HTTP URL example
25, 74-77, 201-209,
260, 303-304, 306, 320
http://regex.info/
xxi, 7,
345, 372
$HttpUrl
303, 305, 345, 351
hybrid regex
engine
183, 239, 243
hyphen
in character class
9
-i
as -y 86
/i
134
/i, introduced
47
/i, with
study
359
/i, with study, (?i)
(see: case-insensitive
mode; mode modifier)
IBM (Java package), comparative description
372
IBM (Java package), speed
377
identifier
matching 24
if
vs. while vs.
foreach 320
IgnoreCase
(.NET)
96, 99, 402, 413, 421
IgnorePatternWhitespace
(.NET)
99, 402, 413, 421
IllegalArgumentException
383,
388
IllegalStateException
385
implementation of engine
182
implicit
362
implicit anchor
optimization
246
Imports
407, 409,
428
\p{InArrows}
122
\p{InBasic_Latin}
122
\p{InBox_Drawing}
122
\p{InCurrency}
122
\p{InCyrillic}
122
Index, Group
object method
424
Index, Match object
method
423
IndexOutOfBoundsException
384-385, 388
\p{InDingbats}
122
indispensable
TiVo 3
\p{InHangul_Jamo}
122
\p{InHebrew}
122
\p{Inherited}
122
initial class
discrimination
244-246, 249, 251-252, 257-259,
332, 361
\p{Initial_Punctuation}
121
\p{InKatakana}
122
\p{InTamil}
122
integrated handling
94-95
integrated handling, compile
caching
242
interpolation
288-289
interpolation, introduced
77
interpolation, caching
351
interpolation, mimicking
321
interpolation, in
PHP
103
INTERSECTION
class set operations
124
interval
140
interval, introduced
20
interval, [X{0,0}]
140
\p{InTibetan}
122
IOException
81
IP example
5, 187-189, 267, 311, 314,
348-349
Iraq
11
Is vs. In
120,
122-123
Is vs. In, with java.util.regex
380
Is vs. In, in
.NET
401
Is vs.
In, in Perl
288
\p{IsCherokee}
120
\p{IsCommon}
122
\p{IsCyrillic}
120
\p{IsGujarati}
120
\p{IsHan}
120
\p{IsHebrew}
120
\p{IsHiragana}
120
\p{IsKatakana}
120
\p{IsLatin}
120
IsMatch (Regex object
method)
415
ISO-8859-1
encoding
29, 87, 105, 107, 121
\p{IsThai}
120
\p{IsTibetan}
122
Japanese, text
processing
29
“japhy”
246
Java
365-398
Java, benchmarking
234-236
Java, BLTN
235-236, 375
Java, choosing a regex
package
366
Java,
exposed mechanics
374
Java, fastest
package
377
Java,
JIT
235
Java, list of
packages
372
Java,
matching comments
272-276
Java, object
models
368-372
Java,
package flavor comparison
373
Java, “Perl5
flavors”
375
Java,
strings
102
Java, version
covered
91
Java, VM
234-236, 375
java.util.regex
95-96,
378-391
java.util.regex, after-match data
136
java.util.regex, code
example
383, 389
java.util.regex, comparative
description
372
java.util.regex, CSV
parsing
386
java.util.regex, dot
modes
111
java.util.regex, doubled-word
example
81
java.util.regex, line
anchors
128
java.util.regex, line
terminators
382
java.util.regex, match
modes
380
java.util.regex, object
model
381
java.util.regex, regex
flavor
378-381
java.util.regex, search-and-replace
387
java.util.regex, speed
377
java.util.regex, split
390
java.util.regex, URL parsing
example
209
java.util.regex, version
covered
91
java.util.regex, word
boundaries
132
Jeffs
example
61-64
JfriedlsRegexLibrary
428-429
JIT, Java
235
JIT, .NET
404
JRE
234
jregex
comparative
description 374
\p{Katakana}
120,
122
keeping in sync
210-211
Keisler, H. J.
85
Kleene, Stephen
85
The Kleene
Symposium
85
Korean text
processing
29
Kunen,
K.
85
\p{L&}
120-121,
123
\p{L&}, in
Perl
288
\p{L}
119-120, 131, 380,
390
£
122
\l
290
\l, character
class
10, 13
\l, identifiers
24
\p{Latin}
120
Latin-1 encoding
29, 87, 105, 107,
121
lazy
166-167
lazy, essence
159, 168-169
lazy, favors
match
167-168
lazy,
vs. greedy
169,
256-257
lazy, in
Java
373
lazy, optimization
249, 256
lazy, quantifier
140
lazy evaluation
181, 355
\L...\E
290
\L...\E, inhibiting
292
lc
290
lcfirst
290
leftmost match
177-179
Length, Group object
method
424
Length, Match object
method
423
length()
ORO 396
length-cognizance optimization
245,
247
\p{Letter}
120,
288
\p{Letter_Number}
121
$LevelN
330,
343
lex
86
lex, $
111
lex, dot
110
lex, history
87
lex, and trailing
context
182
lexer
building 130, 315
lexical scope
299
LF
109, 382
Li,
Yadong
xxii
LIFO
backtracking
159
limit, backtracking
237
limit, recursion
249-250
limit, recursion, line
(also see string)
limit, anchor
optimization
246
limit, vs.
string
55
line
anchor
111-112
line
anchor, mechanics of
matching
150
line
anchor, variety of
implementations
87
line
feed
109
LINE
SEPARATOR
109, 121, 382
line
terminators
108-109, 111, 128, 382
line terminators, with $ and
^
111
\p{Line_Separator}
121
link, matching
201
link, matching, Java
204, 209
list context
294, 310-311
list context, forcing
310
literal string
initial string
discrimination 244-246, 249, 251-252, 257-259, 332, 361
literal text, introduced
5
literal text, exposing
255
literal text, mechanics of
matching
149
literal
text, pre-check
optimization
244-246, 249, 251-252, 257-259,
332, 361
literal-text mode
112, 134-135, 290
literal-text mode, inhibiting
292
\p{Ll}
121, 400
\p{Lm}
121, 400
\p{Lo}
121, 400
local
296, 341
local, in embedded
code
336
local, vs.
my
297
locale
126
locale, overview
87
locale, \w
119
localizing
296-297
localtime
294, 319,
351
locking in regex literal
352
“A logical calculus of the ideas imminent in nervous
activity”
85
longest
match
finding 334-335
longest-leftmost match
148,
177-179
lookahead
132
lookahead, introduced
60
lookahead, auto
403
lookahead, example
61-64
lookahead, in
Java
373
lookahead,
mimic atomic grouping
174
lookahead, mimic
optimizations
258-259
lookahead, negated, <B>...</B>
167
lookahead, positive vs.
negative
66
lookaround, introduced
59
lookaround, backtracking
173-174
lookaround, in
conditional
139
lookaround, and
DFAs
182
lookaround,
doesn't consume text
60
lookaround, mimicking class set
operations
124
lookaround, mimicking word
boundaries
132
lookaround, in
Perl
288
lookbehind
132
lookbehind, in
Java
373
lookbehind,
in .NET
402
lookbehind, in
Perl
288
lookbehind,
positive vs. negative
66
lookbehind, unlimited
402
lookingAt()
385
Lord, Tom
182
\p{Lowercase_Letter}
121
LS
109, 121, 382
\p{Lt}
121, 400
\p{Lu}
121, 400
Lunde, Ken
xxii, 29
\p{M}
120, 125
/m
134
m/.../
introduced
38
machine-dependent character
codes
114
MacOS
114
mail
processing example
53-59
makudonarudo example
165,
169, 228-232, 264
\p{Mark}
120
match
306-318
match, actions
95
match, context
294-295, 309
match, context, list
294, 310-311
match, context, scalar
294, 310, 312-316
match, DFA vs.
NFA
224
match, efficiency
179
match, example with
backtracking
160
match, example without
backtracking
160
match, lazy
example
161
match,
leftmost-longest
335
match, longest
334-335
match, m/.../, introduced
38
match, m/.../, introduced, mechanics
(also see: greedy;
lazy)
match, m/.../, .*
152
match, m/.../, greedy introduced
151
match, m/.../, anchors
150
match, m/.../, capturing parentheses
149
match, m/.../, character classes and dot
149
match, m/.../, consequences
156
match, m/.../, literal text
149
match, modes
109-112
match, modes, java.util.regex
380
match, negating
309
match, neverending
222-228, 330,
340
match, neverending, avoiding
264-265
match, neverending, discovery
226-228
match, neverending, explanation
226-228
match, neverending, non-determinism
264
match, neverending, short-circuiting
250
match, neverending, solving with atomic grouping
268
match, neverending, solving with possessive quantifiers
268
match, NFA vs.
DFA
156-157, 180-182
match, NFA vs. DFA, position
(see pos)
match, POSIX, in
Perl
335
match, shortest-leftmost
183
match, side
effects
317
match,
side effects, intertwined
43
match, side effects, Perl
40
match, speed
181
match, in a
string
27
match, tag-team
130
match, viewing
mechanics
331-332
Match
Empty
426
match()
393
Match (.NET)
Success 96
Match object
(.NET)
411
Match
object (.NET), Capture
431
Match object (.NET), creating
415, 423
Match object (.NET), Groups
423
Match object (.NET), Index
423
Match object (.NET), Length
423
Match object (.NET), NextMatch
423
Match object (.NET), Result
423
Match object (.NET), Success
421
Match object (.NET), Synchronized
424
Match object (.NET), ToString
422
Match object (.NET), using
421
Match object (.NET), Value
422
Match (Regex object
method)
415
“match rejected
by optimizer”
363
match
result object model
371
match
state object model
370
MatchCollection
416
matcher() (Pattern
method)
384
Matcher
object
384
Matcher
object, reusing
387
matches, unexpected
194-195
matches, viewing
all
332
matches()
(Pattern method)
384, 390
Matches (Regex object
method)
416
MatchEvaluator
417-418
matching, delimited
text
196-198
matching,
HTML tag
200
matching, longest-leftmost
177-179
MatchObject object (.NET)
creating 416
\p{Math_Symbol}
121
Maton, William
xxii, 36
MBOL
362
\p{Mc}
121
McCloskey, Mike
xxii
McCulloch, Warren
85
\p{Me}
121
mechanics
viewing 331-332
metacharacter, introduced
5
metacharacter, conflicting
44-46
metacharacter, differing
contexts
10
metacharacter, first-class
87, 92
metacharacter, vs.
metasequence
27
metasequence
defined 27
mimic, $`
357
mimic, $'
357
mimic, $&
302, 357
mimic, atomic
grouping
174
mimic,
class set operations
124
mimic, conditional with
lookaround
139
mimic,
initial-character discrimination
optimization
258-259
mimic, named
capture
344-345
mimic,
POSIX matching
335
mimic, possessive
quantifiers
343-344
mimic, variable
interpolation
321
mimic, word
boundaries
66, 132, 341-342
minlen length
362
minus in character class
9
MISL
.NET 404
\p{Mn}
121
mode modifier
109, 133-135
mode-modified span
109, 134
modes
introduced with egrep
14-15
\p{Modifier_Letter}
121
\p{Modifier_Letter}, combining
69
\p{Modifier_Letter}, example with
five
316
\p{Modifier_Letter}, /g
51
\p{Modifier_Letter}, /i
47
\p{Modifier_Letter}, “locking
in”
304-305
\p{Modifier_Letter}, notation
98
\p{Modifier_Letter}, /osmosis
293
\p{Modifier_Letter}, Perl
core
292-293
\p{Modifier_Letter}, with regex
object
304-305
\p{Modifier_Symbol}
121
Mui, Linda
xxii
multi-character quotes
165-166
Multiline
(.NET)
402, 413-414, 421
MULTILINE (Pattern
flag)
81, 380, 382
multiple-byte character encoding
29
MungeRegexLiteral
342-344, 346
my, binding
339
my, in embedded
code
338-339
my, vs.
local
297
MySQL, after-match
data
136
MySQL, DBIx::DWIW
258
MySQL, version
covered
91
MySQL,
word boundaries
132
\n
49, 114-115
\n, introduced
44
\n, machine-dependency
114
\p{N}
120, 390
(?n)
402
$^N
300-301, 344-346
named capture
137
named capture, mimicking
344-345
named capture, .NET
402
named
capture, with unnamed
capture
403
naughty
variables
356
naughty
variables, okay for
debugging
331
\p{Nd}
121, 380, 400
negated class, introduced
10-11
negated class, and lazy
quantifiers
167
negated
class, Tcl
111
negated class, Tcl, negative lookahead
(see lookahead,
negative)
negated class, Tcl,
negative lookbehind
(see
lookbehind, negative)
NEL
109, 382, 400
nervous system
85
nested constructs, .NET
430
nested
constructs, Perl
328-331, 340-341
$NestedStuffRegex
339,
346
.NET
399-432
.NET, $+
202
.NET, flavor
overview
91
.NET,
after-match data
136
.NET, benchmarking
236
.NET, JIT
404
.NET, line
anchors
128
.NET,
literal-text mode
135
.NET, MISL
404
.NET, object
model
411
.NET, regex approach
96-97
.NET, regex
flavor
401
.NET, search-and-replace
408,
417-418
.NET, URL parsing
example
204
.NET,
version covered
91
.NET, word
boundaries
132
neurophysiologists
early regex study
85
neverending match
222-228,
330, 340
neverending match, avoiding
264-265
neverending match, discovery
226-228
neverending match, explanation
226-228
neverending match, non-determinism
264
neverending match, short-circuiting
250
neverending match, solving with atomic
grouping
268
neverending
match, solving with possessive
quantifiers
268
New
Regex
96, 99, 410, 415
newline
and HTTP 115
NEXT LINE
109, 382, 400
NextMatch (Match object
method)
423
NFA, first introduced
145
NFA, introduction
153
NFA, acronym spelled
out
156
NFA, and alternation
174-175
NFA, compared with
DFA
156-157, 180-182
NFA, control
benefits
155
NFA,
efficiency
179
NFA, efficiency, essence
(see backtracking)
NFA, freeflowing
regex
277-281
NFA,
and greediness
162
NFA, implementation
ease
182
NFA, nondeterminism
265
NFA, nondeterminism, checkpoint
264
NFA, POSIX
efficiency
179
NFA,
testing for
146-147
NFA, theory
180
Nicholas, Ethan
xxii
\p{Nl}
121
\N{LATIN SMALL LETTER SHARP
S}
290
\N{name}
290
\N{name}, inhibiting
292
\p{No}
121
no re 'debug'
361
no_match_vars
357
nomenclature
27
non-capturing parentheses
45, 136-137,
373
non-capturing parentheses, (also
see parentheses), Nondeterministic Finite
Automaton
(see NFA)
None (.NET)
415, 421
nonillion
226
nonregular sets
180
\p{Non_Spacing_Mark}
121
“normal”
262-266
null
116
null, with dot
118
NullPointerException
396
\p{Number}
120
/o
352-353
/o, with regex
object
354
Obfuscated Perl
Contest
320
object
model, Java
368-372
object model, .NET
410-411
Object Oriented Perl
339
object-oriented handling
95-97
object-oriented handling, compile caching
244
octal escape
115, 117
octal escape, vs.
backreference
406-407
octal
escape, in Java
373
octal escape, in
Perl
286
on-demand
recompilation
351
oneself example
332,
334
\p{Open_Punctuation}
121
operators
Perl list
285
optimization
239-252
optimization, automatic
possessification
251
optimization, BLTN
235-236, 375
optimization, with
bump-along
255
optimization, end-of-string
anchor
246
optimization, excessive
backtrack
249-250
optimization, hand
tweaking
252-261
optimization, implicit line
anchor
191
optimization, initial character
discrimination
244-246, 249, 251-252, 257-259,
332, 361
optimization, JIT
235, 404
optimization, lazy
evaluation
181
optimization, lazy
quantifier
249, 256
optimization, leading [.*]
246
optimization, literal-string
concatenation
247
optimization, need
cognizance
252
optimization, needless class
elimination
249
optimization, needless
parentheses
248
optimization, pre-check of required
character
244-246, 249, 251-252, 257-259, 332,
361
optimization, simple
repetition, discussed
247-248
optimization, small
quantifier equivalence
251-252
optimization, state
suppression
250-251
optimization, string/line
anchors
149, 181
optimization, super-linear
short-circuiting
250
Option (.NET)
409
Option (.NET), whitespace
18
Options (Regex object
method)
421
OR
class set operations
123-124
Oram, Andy
xxii,
5
ordered alternation
175-177
ordered alternation, pitfalls
176
org.apache.oro.text.regex
392-398
org.apache.oro.text.regex, benchmark results
376
org.apache.oro.text.regex, comparative description
374
org.apache.regexp, comparative
description
375
org.apache.regexp, speed
376
org.apache.xerces.utils.regex
372
ORO
392-398
ORO, benchmark
results
376
ORO, comparative description
374
osmosis
293
/osmosis
293
\p{Other}
120
\p{Other_Letter}
121
\p{Other_Number}
121
\p{Other_Punctuation}
121
\p{Other_Symbol}
121
our
295,
336
overload pragma
342
\p{...}
119
\p{P}
120
\p{^...}
288
\p{All}
123
\p{All}, in
Perl
288
\p{all}
380
panic: top_env
332
\p{Any}
123
\p{Any}, in
Perl
288
Papen,
Jeffrey
xxii
PARAGRAPH
SEPARATOR
109, 121, 382
\p{Paragraph_Separator}
121
parentheses, as
\(...\)
86
parentheses, and
alternation
13
parentheses, balanced
328-331, 340-341,
430
parentheses, balanced,
difficulty
193-194
parentheses, capturing
135-136, 300
parentheses, capturing, introduced with egrep
20-22
parentheses, capturing,
and DFAs
150, 182
parentheses, capturing, mechanics
149
parentheses, capturing, in Perl
41
parentheses, capturing
only
152
parentheses,
counting
21
parentheses, elimination
optimization
248
parentheses, elimination optimization,
grouping-only
(see
non-capturing parentheses)
parentheses, limiting scope
18
parentheses, named
capture
137, 344-345, 402-403
parentheses, nested
328-331, 340-341, 430
parentheses, non-capturing
45, 136-137
parentheses, non-capturing, in Java
373
parentheses, non-participating
300
parentheses, with split, Java ORO
395
parentheses, with split, .NET
403, 420
parentheses, with split, Perl
326
\p{Arrows}
122
parsing
regex 404
participate in match
139
Pascal
36, 59, 182
Pascal, matching comments
of
265
\p{Assigned}
123-124
\p{Assigned}, in
Perl
288
Pat (Java
Package), comparative
description
374
Pat (Java
Package), speed
377
patch
88
pathname example
190-192
Pattern, CANON_EQ
108, 380
Pattern, CASE_INSENSITIVE
95, 109,
380, 383
Pattern, COMMENTS
99, 218, 378, 380,
386
Pattern, compile()
383
Pattern, DOTALL
380, 382
Pattern, matcher()
384
Pattern, matches()
384, 390
Pattern, MULTILINE
81, 380,
382
Pattern, UNICODE_CASE
380,
383
Pattern, UNIX_LINES
380, 382
PatternSyntaxException
381,
383
\p{Basic_Latin}
122
\p{Box_Drawing}
122
\p{Pc}
121,
400
\p{C}
120
\p{Cc}
121
\p{Cf}
121
\p{Cherokee}
120
\p{Close_Punctuation}
121
\p{Cn}
121,
123-124, 380, 401
\p{Co}
121
\p{Connector_Punctuation}
121
\p{Control}
121
PCRE, lookbehind
132
PCRE, version
covered
91
\p{Currency}
122
\p{Currency_Symbol}
121
\p{Cyrillic}
120, 122
\p{Pd}
121
\p{Dash_Punctuation}
121
\p{Decimal_Digit_Number}
121
\p{Dingbats}
122
\p{Pe}
121
PeakWebhosting.com
xxii
\p{Enclosing_Mark}
121
people, Aho,
Alfred
86, 180
people,
Balling, Derek
xxii
people, Barwise,
J.
85
people, Bennett, Mike
xxi
people, Clemens,
Sam
375
people, Click, Cliff
xxii
people, Constable,
Robert
85
people,
Conway, Damian
339
people, Cruise,
Tom
51
people, Flanagan, David
xxii
people, Friedl,
Alfred
176
people,
Friedl, brothers
33
people, Friedl,
Fumie
xxi
people,
Friedl, Fumie, birthday
11-12
people, Friedl,
Liz
33
people, Friedl, Stephen
xxii
people, George,
Kit
xxii
people, Goldberger, Ray
xxii
people, Gosling,
James
89
people, Gutierrez, David
xxii
people, Hietaniemi,
Jarkko
xxii
people,
Keisler, H. J.
85
people, Kleene,
Stephen
85
people,
Kunen, K.
85
people, Li,
Yadong
xxii
people,
Lord, Tom
182
people, Lunde,
Ken
xxii, 29
people,
Maton, William
xxii,
36
people, McCloskey,
Mike
xxii
people,
McCulloch, Warren
85
people, Mui,
Linda
xxii
people,
Nicholas, Ethan
xxii
people, Oram,
Andy
xxii, 5
people,
Papen, Jeffrey
xxii
people, Perl
Porters
90
people,
Pinyan, Jeff
246
people, Pitts,
Walter
85
people,
Purcell, Shawn
xxii
people, Reed,
Jessamyn
xxii
people,
Reinhold, Mark
xxii
people, Rudkin,
Kristine
xxii
people,
Savarese, Daniel
xxii
people, Sethi,
Ravi
180
people, Spencer, Henry
88, 182-183,
243
people, Thompson,
Ken
85-86, 110
people,
Trapszo, Kasia
xxii
people, Tubby
264
people, Ullman,
Jeffrey
180
people,
Wall, Larry
88-90, 138,
363-364
people, Wilson,
Dean
xxii
people,
Woodward, Josh
xxii
people, Zawodny,
Jeremy
xxii, 258
Perl,
$/
35
Perl, flavor
overview
91, 287
Perl,
introduction
37-38
Perl, introduction, context
(also see match,
context)
Perl, introduction,
contorting
294
Perl, efficiency
347-363
Perl, greatest
weakness
286
Perl,
history
88-90, 308
Perl, in Java
375, 392
Perl, line
anchors
128
Perl,
modifiers
292-293
Perl, motto
348
Perl, option, -0
36
Perl, option, -c
361
Perl, option, -Dr
363
Perl, option, -e
36, 53, 361
Perl, option, -i
53
Perl, option, -M
361
Perl, option, -Mre=debug
363
Perl, option, -n
36
Perl, option, -p
53
Perl, option, -w
38, 296, 326,
361
Perl, regex
operators
285
Perl,
version covered
91
Perl, warnings
38
Perl, warnings, ($^W variable)
297
Perl, warnings, use warnings
326,
363
Perl Porters
90
Perl5Util
392, 396
perladmin
299
\p{Pf}
121, 400
\p{Final_Punctuation}
121
\p{Format}
121
\p{Gujarati}
120
\p{Han}
120
\p{Hangul_Jamo}
122
\p{Hebrew}
120,
122
\p{Hiragana}
120
PHP, after-match
data
136
PHP, line anchors
128
PHP, lookbehind
132
PHP, mode
modifiers
133
PHP,
strings
103
PHP, version
covered
91
PHP, word boundaries
132
\p{Pi}
121, 400
\p{InArrows}
122
\p{InBasic_Latin}
122
\p{InBox_Drawing}
122
\p{InCurrency}
122
\p{InCyrillic}
122
\p{InDingbats}
122
\p{InHangul_Jamo}
122
\p{InHebrew}
122
\p{Inherited}
122
\p{Initial_Punctuation}
121
\p{InKatakana}
122
\p{InTamil}
122
\p{InTibetan}
122
Pinyan, Jeff
246
\p{IsCherokee}
120
\p{IsCommon}
122
\p{IsCyrillic}
120
\p{IsGujarati}
120
\p{IsHan}
120
\p{IsHebrew}
120
\p{IsHiragana}
120
\p{IsKatakana}
120
\p{IsLatin}
120
\p{IsThai}
120
\p{IsTibetan}
122
Pitts, Walter
85
\p{Katakana}
120,
122
\p{L}
119-120,
131, 380, 390
\p{L&}
120-121,
123
\p{L&}, in
Perl
288
\p{Latin}
120
\p{Letter}
120, 288
\p{Letter_Number}
121
\p{Line_Separator}
121
\p{Ll}
121,
400
\p{Lm}
121,
400
\p{Lo}
121,
400
\p{Lowercase_Letter}
121
\p{Lt}
121,
400
\p{Lu}
121,
400
plus, as
\+
139
plus,
introduced
18-20
plus, backtracking
162
plus, greedy
139
plus, lazy
140
plus, possessive
140
\p{M}
120, 125
\p{Mark}
120
\p{Math_Symbol}
121
\p{Mc}
121
\p{Me}
121
\p{Mn}
121
\p{Modifier_Letter}
121
\p{Modifier_Symbol}
121
\p{N}
120,
390
\p{Nd}
121, 380,
400
\p{Nl}
121
\p{No}
121
\p{Non_Spacing_Mark}
121
\p{Number}
120
\p{Po}
121
\p{Open_Punctuation}
121
population example
59
pos
128-131,
313-314, 316
pos, (also see
\G), positive
lookahead
(see lookahead, positive)
pos, (also see \G),
positive lookbehind
(see
lookbehind, positive)
POSIX, [:...:]
125
POSIX, [.....]
126
POSIX, Basic Regular
Expressions
87-88
POSIX, bracket
expressions
125
POSIX,
character class
125
POSIX, character class and
locale
126
POSIX,
character equivalent
126
POSIX, collating
sequences
126
POSIX,
dot
118
POSIX, empty
alternatives
138
POSIX, Extended Regular
Expressions
87-88
POSIX, superficial flavor
chart
88
POSIX, in Java
374
POSIX, locale
126
POSIX, locale, overview
87
POSIX, longest-leftmost
rule
177-179, 335
POSIX
NFA, backtracking
example
229
POSIX NFA,
testing for
146-147
possessive quantifiers
140,
172-173
possessive quantifiers, automatic
251
possessive quantifiers, for
efficiency
259, 268-270
possessive quantifiers, example
198, 201
possessive quantifiers, mimicking
343-344
possessive quantifiers, optimization
250-251
postal code example
208-212
postMatch()
397
\p{Other}
120
\p{Other_Letter}
121
\p{Other_Number}
121
\p{Other_Punctuation}
121
\p{Other_Symbol}
121
£
122
\p{P}
120
\p{Paragraph_Separator}
121
\p{Pc}
121,
400
\p{Pd}
121
\p{Pe}
121
\p{Pf}
121,
400
\p{Pi}
121,
400
\p{Po}
121
\p{Private_Use}
121
\p{Ps}
121
\p{Punctuation}
120
pragma, charnames
290
pragma, overload
342
pragma, re
361, 363
pragma, strict
295, 336,
345
pragma, warnings
326, 363
pre-check of required character
244-246, 249, 251-252, 257-259, 361
pre-check of required
character, mimic
258-259
pre-check of required character, viewing
332
preMatch()
397
pre-match copy
355
prepending filename to line
79
price rounding example
51-52, 167-168
price rounding example, with alternation
175
price rounding example, with atomic
grouping
170
price rounding
example, with possessive
quantifier
169
Principles
of Compiler Design
180
printf
40
private vs. global
Perl variables
295
\p{Private_Use}
121
procedural handling
95-97
procedural handling, compile
caching
243
procmail
94
procmail, version
covered
91
Programming
Perl
283, 286, 339
promote
294-295
properties
119-121, 123-124, 288,
380
\p{S}
120
PS
109, 121, 382
\p{Ps}
121
\p{Sc}
121-122
\p{Separator}
120
\p{Sk}
121
\p{Sm}
121
\p{So}
121
\p{Space_Separator}
121
\p{Spacing_Combining_Mark}
121
\p{Symbol}
120
\p{Tamil}
122
\p{Thai}
120
\p{Tibetan}
122
\p{Titlecase_Letter}
121
publication, Bulletin of Math.
Biophysics
85
publication, Communications of the
ACM
85
publication, Compilers -- Principles,
Techniques, and Tools
180
publication, Embodiments of
Mind
85
publication, The Kleene
Symposium
85
publication, “A logical calculus of the ideas
imminent in nervous activity”
85
publication, Object Oriented
Perl
339
publication, Principles of Compiler
Design
180
publication, Programming
Perl
283, 286, 339
publication, Regular Expression Search
Algorithm
85
publication, “The Role of Finite Automata in
the Development of Modern Computing Theory”
85
\p{Unassigned}
121, 123
\p{Unassigned}, in
Perl
288
\p{Punctuation}
120
\p{Uppercase_Letter}
121
Purcell, Shawn
xxii
Python, after-match
data
136
Python, benchmarking
237
Python, line
anchors
128
Python,
mode modifiers
133
Python, regex
approach
97
Python,
strings
103-104
Python, version
covered
91
Python,
word boundaries
132
Python, \Z
111
\p{Z}
119-120, 380,
400
\p{Zl}
121
\p{Zp}
121
\p{Zs}
121
Qantas
11
\Q...\E
290
\Q...\E, inhibiting
292
\Q...\E, in
Java
373
qed
85
qed, introduced
76
qed, introduced, quantifier
(also see: plus; star;
question mark; interval; lazy; greedy; possessive quantifiers)
qed, and
backtracking
162
qed, factor
out
255
qed,
grouping for
18
qed, multiple
levels
265
qed,
optimization
247, 249
qed, and
parentheses
18
qed, possessive
quantifiers
140, 172-173
qed, possessive quantifiers,
for efficiency
259,
268-270
qed, possessive
quantifiers, mimicking, mimicking
343-344
qed, possessive quantifiers,
optimization, optimization
250-251
qed, possessive quantifiers,
automatic, automatic
251
qed, question mark, as \?
139
qed, question mark, introduced
17-18
qed, question mark, backtracking
160
qed, question mark, greedy
139
qed, question mark, lazy
140
qed, question mark, possessive
140
qed, smallest preceding
subexpression
29
question
mark, as \?
139
question mark, backtracking
160
question mark, greedy
139
question mark, lazy
140
question
mark, possessive
140
question mark, possessive,
quoted string
(see
double-quoted string example)
quotes
multi-character
165-166
r"..."
103
$^R
302, 327
\r
49, 114-115
\r, machine-dependency
114
re
361
re 'debug'
363
re pragma
361, 363
reality check
226-228
red dragon
180
Reed, Jessamyn
xxii
Reflection
429
regex, balancing
needs
186
regex, compile
179-180, 350
regex, default
308
regex, delimiters
291-292
regex, delimiters, DFA
(see DFA)
regex, delimiters, encapsulation
(see regex
objects)
regex, engine
analogy
143-147
regex,
vs. English
275
regex, frame of
mind
6
regex, freeflowing design
277-281
regex, history
85-91
regex, library
76, 207
regex, longest-leftmost
match
177-179
regex,
longest-leftmost match, shortest-leftmost
183
regex, mechanics
241-242
regex, mechanics, NFA
(see NFA)
regex, nomenclature
27
regex, operands
288-292
regex, overloading
291, 328
regex, overloading, inhibiting
292
regex, overloading, problems
344
regex, subexpression, defined
29
regex
literal
288-292, 307
regex
literal, inhibiting
processing
292
regex
literal, locking in
352
regex literal, parsing
of
292
regex literal,
processing
350
regex literal, regex
objects
354
Regex
(.NET), CompileToAssembly
427,
429
Regex (.NET), creating, options
413-415
Regex (.NET), Escape
427
Regex (.NET), GetGroupNames
421-422
Regex (.NET), GetGroupNumbers
421-422
Regex (.NET), GroupNameFromNumber
421-422
Regex (.NET), GroupNumberFromName
421-422
Regex (.NET), IsMatch
407, 415,
425
Regex (.NET), Match
96, 408, 410, 415,
425
Regex (.NET), Matches
416, 425
Regex (.NET), object, creating
96, 410, 413-415
Regex (.NET), object, exceptions
413
Regex (.NET), object, using
96, 415
Regex (.NET), Options
421
Regex (.NET), Replace
408-409, 417-418,
425
Regex (.NET), RightToLeft
421
Regex (.NET), Split
419-420, 425
Regex (.NET), ToString
421
Regex (.NET), Unescape
427
regex objects
303-306
regex objects, efficiency
353-354
regex objects, /g
354
regex objects, match
modes
304-305
regex
objects, /o
354
regex objects, in regex
literal
354
regex
objects, viewing
305-306
regex overloading
292
regex overloading, example
341-345
http://regex.info/
xxii, 7,
345, 358
RegexCompilationInfo
429
regex-directed matching
153
regex-directed matching, and
backreferences
303
regex-directed matching, and
greediness
162
Regex.Escape
135
RegexOptions, Compiled
236, 402, 404, 414,
421-422, 429
RegexOptions, ECMAScript
400, 402,
406-407, 415, 421
RegexOptions, ExplicitCapture
402, 414,
421
RegexOptions, IgnoreCase
96, 99, 402, 413,
421
RegexOptions, IgnorePatternWhitespace
99,
402, 413, 421
RegexOptions, Multiline
402, 413-414,
421
RegexOptions, None
415, 421
RegexOptions, RightToLeft
402, 405-406,
414, 420-421, 423-424
RegexOptions, Singleline
402, 414,
421
Regexp (Java package), comparative description
375
Regexp (Java package), speed
376
regsub
100
regular expression
origin of term
85
Regular Expression Search
Algorithm
85
regular
sets
85
Reinhold,
Mark
xxii
removing
whitespace
199-200
Replace (Regex object
method)
417-418
replaceAll
387
replaceFirst()
387-388
reproductive organs
5
required character
pre-check
244-246, 249, 251-252, 257-259, 332,
361
re-search-forward
100
reset()
387
Result (Match object
method)
423
RightToLeft
(Regex
property) 421-422
RightToLeft
(.NET)
402, 405-406, 414, 420-421,
423-424
“The Role of Finite Automata in the Development of
Modern Computing Theory”
85
Ruby, $ and
^
111
Ruby,
after-match data
136
Ruby, benchmarking
238
Ruby, \G
131
Ruby, line
anchors
128
Ruby,
mode modifiers
133
Ruby, version
covered
91
Ruby, word boundaries
132
Rudkin, Kristine
xxii
rule, earliest match
wins
148-149
rule,
standard quantifiers are greedy
151-153
rx
182
s/.../.../
50, 318-321
\S
49,
56, 119
\p{S}
120
\s
49,
119
\s, introduction
47
\s, in
Emacs
127
\s,
in Perl
288
\s, in Perl, (?s)
(see: dot-matches-all
mode; mode modifier)
/s
134
Savarese, Daniel
xxii
SawAmpersand
358
say what you mean
195, 274
SBOL
362
\p{Sc}
121-122
scalar context
294, 310,
312-316
scalar context, forcing
310
schaffkopf
33
scope
lexical vs. dynamic 299
scripts
120-122, 288
search-and-replace, awk
99
search-and-replace, Java
387, 394
search-and-replace, .NET
408, 417-418
search-and-replace, Tcl
100
sed, after-match
data
136
sed, dot
110
sed, history
87
sed, version
covered
91
sed, word boundaries
132
\p{Separator}
120
server VM
234, 236, 375
Sethi, Ravi
180
shell
7
simple
quantifier optimization
247-248
single quotes
delimiter 292,
319
Singleline
(.NET)
402, 414, 421
\p{Sk}
121
\p{Sm}
121
small quantifier equivalence
251-252
\p{So}
121
\p{Space_Separator}
121
\p{Spacing_Combining_Mark}
121
“special”
262-266
Spencer, Henry
88,
182-183, 243
split()
java.util.regex 390
split
ORO 394-396
split, with capturing parentheses,
Java ORO
395
split, with capturing parentheses,
.NET
403, 420
split, with capturing parentheses,
Perl
326
split, chunk limit, Java ORO
395
split, chunk limit, java.util.regex
391
split, chunk limit, Perl
323
split, into
characters
322
split,
in Perl
321-326
split, trailing empty
items
324
split, whitespace
325
Split (Regex object
method)
419-420
standard
formula for matching delimited text
196
star, introduced
18-20
star, backtracking
162
star, greedy
139
star, lazy
140
star, possessive
140
start()
385
start-of-string anchor optimization
245-246, 255-256, 315
stclass
`list'
362
stock pricing example
51-52,
167-168
stock pricing example, with
alternation
175
stock pricing
example, with atomic
grouping
170
stock pricing
example, with possessive
quantifier
169
Strict (Option)
409
strict pragma
295, 336, 345
String, matches()
384
String, replaceAll
387
String, replaceFirst()
388
String, split()
390
String, split(),
string
(also see
line)
String, split(), double-quoted
(see double-quoted
string example)
String, initial string discrimination
244-246, 249, 251-252, 257-259, 332, 361
String, vs.
line
55
String, vs. line, match position
(see
pos)
String, vs.
line, pos
(see
pos)
StringBuffer
388
strings, C#
102
strings, Emacs
100
strings, Java
102
strings, PHP
103
strings, Python
103-104
strings, as
regex
101-105, 305
strings, Tcl
104
strings, VB.NET
102
stripping whitespace
199-200
study
359-360
study, when not to
use
359
subexpression
defined 29
substitute()
394
substitution, delimiter
319
substitution, s/.../.../
50, 318-321
substring
initial
substring discrimination 244-246, 249, 251-252, 257-259, 332, 361
subtraction
class set operations
124
Success, Group
object method
424
Success, Match object
method
421
Success, Match object
method, Sun's regex
package
(see java.util.regex)
Success, Match object
method, super-linear
(see neverending match)
super-linear
short-circuiting
250
\p{Symbol}
120
Synchronized Match object
method
424
syntax
class
Emacs 127
System.currentTimeMillis()
236
System.Reflection
429
System.Text.RegularExpressions
407, 409
\t
49,
114-115
\t, introduced
44
tag
matching 200-201
tag-team matching
130, 315
\p{Tamil}
122
Tcl, [:<:]
92
Tcl, flavor
overview
91
Tcl, benchmarking
239
Tcl, dot
111-112
Tcl, hand-tweaking
243, 259
Tcl, line
anchors
112, 128
Tcl,
mode modifiers
133
Tcl, regex
implementation
182
Tcl, regsub
100
Tcl, search-and-replace
100
Tcl, strings
104
Tcl, version
covered
91
Tcl, word boundaries
132
temperature conversion example, in
.NET
419
temperature
conversion example, in
Java
389
temperature
conversion example, in
Perl
37
temperature
conversion example, Perl
one-liner
283
temperature
conversion example, Perl one-liner, terminators
(see line
terminators)
testing engine
type
146-147
text-directed
matching
153
text-directed
matching, regex
appearance
162
text-to-HTML
example
67-77
\p{Thai}
120
theory of an NFA
180
There's more than one way to do
it
349
this|that
example
132, 138, 243, 245-246, 252, 255,
260-261
Thompson, Ken
85-86,
110
thread scheduling
Java
benchmarking 236
\p{Tibetan}
122
tied variables
299
time()
232
time of day
26
Time::HiRes
232, 358,
360
Time.new
238
Timer()
237
title case
109
\p{Titlecase_Letter}
121
TiVo
3
tokenizer
building 130, 315
toothpicks
scattered 100
tortilla
126
ToString, Group object
method
424
ToString, Match object
method
422
ToString, Regex object
method
421
toString
ORO 396
Traditional NFA
testing for
146-147
trailing context
182
trailing context, optimizations
245-247
Trapszo, Kasia
xxii
Tubby
264
typographical conventions
xix
\u
116, 290, 400
\U
116
\U...\E
290
\U...\E, inhibiting
292
uc
290
U+C0B5
106
ucfirst
290
UCS-2 encoding
106
UCS-4 encoding
106
Ullman, Jeffrey
180
\p{Unassigned}
121,
123
\p{Unassigned}, in
Perl
288
unconditional
caching
350
underscore in
\w
history 89
Unescape
427
Unicode, overview
106-108
Unicode, block
122
Unicode, block, Java
380
Unicode, block, .NET
400
Unicode, block, Perl
288
Unicode, block, Perl, categories
(see Unicode,
properties)
Unicode, character, combining
107, 122, 125,
288
Unicode, code point, introduced
106
Unicode, code point, beyond U+FFFF
108
Unicode, code point, multiple
107
Unicode, code point, unassigned in block
122
Unicode, combining
character
107, 122, 125, 288
Unicode, in
Java
380
Unicode,
line terminators
108-109,
111
Unicode, line terminators,
in Java
382
Unicode, line terminators, in Java, loose
matching
(see case-insensitive mode)
Unicode, in
.NET
401
Unicode,
properties
119, 288
Unicode, properties, java.util.regex
380
Unicode, properties, list
120-121
Unicode, properties, \p{All}
123, 288
Unicode, properties, \p{Any}
123, 288
Unicode, properties, \p{Assigned}
123-124,
288
Unicode, properties, \p{Unassigned}
121, 123,
288
Unicode, script
120-122, 288
Unicode, support in
Java
373
Unicode,
Version 3.1
108, 380,
401
Unicode, Version
3.2
288
Unicode, whitespace and /x
288
UNICODE_CASE (Pattern
flag)
380, 383
UnicodeData.txt
290
unicore
290
UNIX_LINES (Pattern
flag)
380, 382
unmatch
152, 161, 163
unmatch, .*
165
unmatch, atomic
grouping
171
unrolling the
loop
261-276
unrolling the
loop, example
270-271
unrolling the loop, general
pattern
264
\p{Uppercase_Letter}
121
URL encoding
320
URL example
74-77, 201-204, 208, 260,
303-304, 306, 320
URL example, egrep
25
URL example, Java
209
URL
example, plucking
205-208
use
charnames
290
use Config
290, 299
use English
357
use overload
342
use re
361,
363
use re 'debug'
361, 363
use re
'eval'
337
use
strict
295, 336, 345
use Time::HiRes
358,
360
use
warnings
326, 363
username example
73, 76, 98
username example, plucking from
text
71-73
username
example, in a URL
74-77
using
System.Text.RegularExpressions
410
UTF-16 encoding
106
UTF-8 encoding
106
\V
364
\v
114-115, 364
Value, Group object
method
424
Value, Match object
method
422
variable names
example
24
variables,
after match, pre-match
copy
355
variables,
binding
339
variables, fully
qualified
295
variables, interpolation
344
variables, naughty
356
variables, tied
299
variables, tied, VB.NET
(also see .NET)
variables, comments
99
variables, regex
approach
96-97
variables, strings
102
variables, URL parsing
example
204
verbatim
strings
102
Version 7
regex
182
Version 8
regex
182
versions covered in
this book
91
vertical
tab
109
vertical tab,
in Perl \s
288
vi
after-match data
136
Vietnamese text
processing
29
virtual
machine
234-236, 375
Visual
Studio .NET
428
VM
234, 236, 375
VM, warming up
235
void context
294
VT
109
\W
49, 119
$^W
297
\w
49, 65, 119
\w, in
Emacs
127
\w,
many different interpretations
93
\w, in
Perl
288
Wall,
Larry
88-90, 138, 363-364
warming up Java VM
235
warnings
296
warnings, temporarily turning
off
297
warnings
pragma
326, 363
while vs. foreach vs.
if
320
whitespace, allowing
optional
18
whitespace, removing
199-200
wildcards
filename 4
Wilson, Dean
xxii
Woodward, Josh
xxii
word anchor
mechanics of matching
150
word boundaries
131
word boundaries, \<...\>, egrep
15
word boundaries, introduced
15
word
boundaries, in Java
373
word boundaries, many
programs
132
word
boundaries, mimicking
66, 132, 341-342
word boundaries, in
Perl
132, 288
www.cpan.org
358
www.PeakWebhosting.com
xxii
www.regex.info
358
\X
107,
125
\x
116,
400
\x, in
Perl
286
\x,
in Perl, (?x)
(see: comments and
free-spacing mode; mode modifier)
/x
134, 288
/x, introduced
72
/x, history
90
Xerces
org.apache.xerces.utils.regex 372
-y
old grep
86
¥
122
Yahoo!
xxi, 74, 130, 190, 205, 207,
258, 314
\z
111,
127-128, 316
\z, in
Java
373
\z,
optimization
246
\Z
111, 127-128
\Z, in
Java
373
\Z,
optimization
246
\p{Z}
119-120, 380,
400
Zawodny, Jeremy
xxii,
258
ZIP code example
208-212
\p{Zl}
121
\p{Zp}
121
\p{Zs}
121