Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!]
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Beijing [u.a.]
O'Reilly
2006
|
Ausgabe: | 3. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV022312847 | ||
003 | DE-604 | ||
005 | 20070608 | ||
007 | t | ||
008 | 070315s2006 d||| |||| 00||| eng d | ||
015 | |a 06,N32,0030 |2 dnb | ||
016 | 7 | |a 980560845 |2 DE-101 | |
020 | |a 9780596528126 |c : EUR 43.00 (freier Pr.) |9 978-0-596-52812-6 | ||
020 | |a 0596528124 |c : EUR 43.00 (freier Pr.) |9 0-596-52812-4 | ||
024 | 3 | |a 9780596528126 | |
035 | |a (OCoLC)255434418 | ||
035 | |a (DE-599)BVBBV022312847 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-898 |a DE-824 |a DE-19 |a DE-188 | ||
050 | 0 | |a QA76.9.T48 | |
082 | 0 | |a 005.711 | |
084 | |a ST 240 |0 (DE-625)143625: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Friedl, Jeffrey E. F. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Mastering regular expressions |b [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] |c Jeffrey E. F. Friedl |
250 | |a 3. ed. | ||
264 | 1 | |a Beijing [u.a.] |b O'Reilly |c 2006 | |
300 | |a XXIV, 515 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Perl <Programmiersprache> - Regulärer Ausdruck | |
650 | 4 | |a Programmiersprache - Regulärer Ausdruck - Microsoft dot net | |
650 | 4 | |a Computer programming | |
650 | 4 | |a Perl (Computer program language) | |
650 | 4 | |a Text processing (Computer science) | |
650 | 0 | 7 | |a Regulärer Ausdruck |0 (DE-588)4506116-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Textverarbeitung |0 (DE-588)4059667-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Microsoft dot net |0 (DE-588)4645646-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmiersprache |0 (DE-588)4047409-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Perl |g Programmiersprache |0 (DE-588)4307836-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarewerkzeug |0 (DE-588)4116526-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Befehl |g Informatik |0 (DE-588)4458688-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Regulärer Ausdruck |g Textverarbeitung |0 (DE-588)4490926-3 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Perl |g Programmiersprache |0 (DE-588)4307836-9 |D s |
689 | 0 | 1 | |a Regulärer Ausdruck |0 (DE-588)4506116-6 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Microsoft dot net |0 (DE-588)4645646-6 |D s |
689 | 1 | 1 | |a Programmiersprache |0 (DE-588)4047409-4 |D s |
689 | 1 | 2 | |a Regulärer Ausdruck |0 (DE-588)4506116-6 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a Perl |g Programmiersprache |0 (DE-588)4307836-9 |D s |
689 | 2 | 1 | |a Befehl |g Informatik |0 (DE-588)4458688-7 |D s |
689 | 2 | |8 1\p |5 DE-604 | |
689 | 3 | 0 | |a Softwarewerkzeug |0 (DE-588)4116526-3 |D s |
689 | 3 | 1 | |a Textverarbeitung |0 (DE-588)4059667-9 |D s |
689 | 3 | |8 2\p |5 DE-604 | |
689 | 4 | 0 | |a Regulärer Ausdruck |g Textverarbeitung |0 (DE-588)4490926-3 |D s |
689 | 4 | |8 3\p |5 DE-604 | |
856 | 4 | 2 | |m HEBIS Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015522354&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-015522354 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 3\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804136334721286144 |
---|---|
adam_text | Mastering Regular Expressions
Third Edition
Jeffrey E F Friedl
O REILLY*
Beijing • Cambridge • Farnham • Koln • Paris • Sebastopol • Taipei • Tokyo
Table of Contents
Preface xvii
1: Introduction to Regular Expressions l
Solving Real Problems 2
Regular Expressions as a Language 4
The Filename Analogy 4
The Language Analogy 5
The Regular-Expression Frame of Mind 6
If You Have Some Regular-Expression Experience 6
Searching Text Files: Egrep 6
Egrep Metacharacters 8
Start and End of the Line 8
Character Classes 9
Matching Any Character with Dot 11
Alternation 13
Ignoring Differences in Capitalization 14
Word Boundaries 15
In a Nutshell 16
Optional Items 17
Other Quantifiers: Repetition 18
Parentheses and Backreferences 20
The Great Escape 22
Expanding the Foundation 23
Linguistic Diversification 23
The Goal of a Regular Expression 23
vii
viii Table of Contents
A Few More Examples 23
Regular Expression Nomenclature 27
Improving on the Status Quo 30
Summary 32
Personal Glimpses 33
2: Extended Introductory Examples 35
About the Examples 36
A Short Introduction to Perl 37
Matching Text with Regular Expressions 38
Toward a More Real-World Example 40
Side Effects of a Successful Match 40
Intertwined Regular Expressions 43
Intermission 49
Modifying Text with Regular Expressions 50
Example: Form Letter 50
Example: Prettifying a Stock Price 51
Automated Editing 53
A Small Mail Utility 53
Adding Commas to a Number with Lookaround 59
Text-to-HTML Conversion 67
That Doubled-Word Thing 77
3: Overview of Regular Expression Features and Flavors 83
A Casual Stroll Across the Regex Landscape 85
The Origins of Regular Expressions 85
At a Glance 91
Care and Handling of Regular Expressions 93
Integrated Handling 94
Procedural and Object-Oriented Handling 95
A Search-and-Replace Example 98
Search and Replace in Other Languages 100
Care and Handling: Summary 101
Strings, Character Encodings, and Modes 101
Strings as Regular Expressions 101
Character-Encoding Issues 105
Unicode 106
Regex Modes and Match Modes 110
Common Metacharacters and Features 113
Table of Contents ix
Character Representations 115
Character Classes and Class-Like Constructs 118
Anchors and Other Zero-Width Assertions 129
Comments and Mode Modifiers 135
Grouping, Capturing, Conditionals, and Control 137
Guide to the Advanced Chapters 142
4: The Mechanics of Expression Processing 143
Start Your Engines! 143
Two Kinds of Engines 144
New Standards 144
Regex Engine Types 145
From the Department of Redundancy Department 146
Testing the Engine Type 146
Match Basics 147
About the Examples 147
Rule 1: The Match That Begins Earliest Wins 148
Engine Pieces and Parts 149
Rule 2: The Standard Quantifiers Are Greedy 151
Regex-Directed Versus Text-Directed 153
NFA Engine: Regex-Directed 153
DFA Engine: Text-Directed 155
First Thoughts: NFA and DFA in Comparison 156
Backtracking 157
A Really Crummy Analogy 158
Two Important Points on Backtracking 159
Saved States 159
Backtracking and Greediness 162
More About Greediness and Backtracking 163
Problems of Greediness 164
Multi-Character Quotes 165
Using Lazy Quantifiers 166
Greediness and Laziness Always Favor a Match 167
The Essence of Greediness, Laziness, and Backtracking 168
Possessive Quantifiers and Atomic Grouping 169
Possessive Quantifiers, ?+, *+, ++, and lm,nl+ 172
The Backtracking of Lookaround 173
Is Alternation Greedy? 174
Taking Advantage of Ordered Alternation 175
x Table of Contents
NFA, DFA, andPOSIX 177
The Longest-Leftmost 177
POSK and the Longest-Leftmost Rule : 178
Speed and Efficiency 179
Summary: NFA and DFA in Comparison 180
Summary 183
5: Practical Regex Techniques 185
Regex Balancing Act 186
A Few Short Examples 186
Continuing with Continuation Lines 186
Matching an IP Address 187
Working with Filenames 190
Matching Balanced Sets of Parentheses : 193
Watching Out for Unwanted Matches 194
Matching Delimited Text 196
Knowing Your Data and Making Assumptions 198
Stripping Leading and Trailing Whitespace 199
HTML-Related Examples 200
Matching an HTML Tag 200
Matching an HTML Link 201
Examining an HTTP URL 203
Validating a Hostname 203
Plucking Out a URL in the Real World 206
Extended Examples 208
Keeping in Sync with Your Data 209
Parsing CSV Files 213
6: Crafting an Efficient Expression 221
A Sobering Example 222
A Simple Change—Placing Your Best Foot Forward 223
Efficiency Versus Correctness 223
Advancing Further—Localizing the Greediness 225
Reality Check 226
A Global View of Backtracking 228
More Work for a POSDC NFA 229
Work Required During a Non-Match 230
Being More Specific 231
Alternation Can Be Expensive 231
Table of Contents xi
Benchmarking 232
Know What You re Measuring 234
Benchmarking with PHP 234
Benchmarking with Java 235
Benchmarking with VB NET 237
Benchmarking with Ruby 238
Benchmarking with Python 238
Benchmarking with Tel 239
Common Optimizations 240
No Free Lunch 240
Everyone s Lunch is Different 241
The Mechanics of Regex Application 241
Pre-Application Optimizations 242
Optimizations with the Transmission 246
Optimizations of the Regex Itself 247
Techniques for Faster Expressions 252
Common Sense Techniques 254
Expose Literal Text 255
Expose Anchors 256
Lazy Versus Greedy: Be Specific 256
Split Into Multiple Regular Expressions 257
Mimic Initial-Character Discrimination 258
Use Atomic Grouping and Possessive Quantifiers 259
Lead the Engine to a Match 260
Unrolling the Loop 261
Method 1: Building a Regex From Past Experiences 262
The Real Unrolling-the-Loop Pattern 264
Method 2: A Top-Down View 266
Method 3: An Internet Hostname 267
Observations 268
Using Atomic Grouping and Possessive Quantifiers 268
Short Unrolling Examples 270
Unrolling C Comments 272
The Freeflowing Regex 277
A Helping Hand to Guide the Match 277
A Well-Guided Regex is a Fast Regex 279
Wrapup 281
In Summary: Think! 281
Table of Contents
7: Perl 283
Regular Expressions as a Language Component 285
Peri s Greatest Strength 286
Perl s Greatest Weakness 286
Peri s Regex Flavor 286
Regex Operands and Regex Literals 288
How Regex Literals Are Parsed 292
Regex Modifiers 292
Regex-Related Perlisms 293
Expression Context 294
Dynamic Scope and Regex Match Effects 295
Special Variables Modified by a Match 299
The qr/7 Operator and Regex Objects 303
Building and Using Regex Objects 303
Viewing Regex Objects 305
Using Regex Objects for Efficiency 306
The Match Operator 306
Match s Regex Operand 307
Specifying the Match Target Operand 308
Different Uses of the Match Operator 309
Iterative Matching: Scalar Context, with /g 312
The Match Operator s Environmental Relations 316
The Substitution Operator : 318
The Replacement Operand 319
The /e Modifier 319
Context and Return Value 321
The Split Operator 321
Basic Split 322
Returning Empty Elements 324
Split s Special Regex Operands 325
Split s Match Operand with Capturing Parentheses 326
Fun with Perl Enhancements 326
Using a Dynamic Regex to Match Nested Pairs 328
Using the Embedded-Code Construct 331
Using l oca l in an Embedded-Code Construct 335
A Warning About Embedded Code and my Variables 338
Matching Nested Constructs with Embedded Code 340
Overloading Regex Literals 341
Problems with Regex-Literal Overloading 344
Table of Contents xm
Mimicking Named Capture 344
Perl Efficiency Issues 347
There s More Than One Way to Do It 348
Regex Compilation, the /o Modifier, qr/-/, and Efficiency 348
Understanding the Pre-Match Copy 355
The Study Function 359
Benchmarking 360
Regex Debugging Information 361
Final Comments 363
8: Java 365
Java s Regex Flavor 366
Java Support for p{ ••} and P{- } 369
Unicode Line Terminators 370
Using java util regex 371
The Pa tte rn compi le() Factory 372
Pattern s matcher method 373
The Matcher Object 373
Applying the Regex 375
Querying Match Results 376
Simple Search and Replace 378
Advanced Search and Replace 380
In-Place Search and Replace 382
The Matcher s Region 384
Method Chaining 389
Methods for Building a Scanner 389
Other Matcher Methods 392
Other Pattern Methods 394
Pattern s split Method, with One Argument 395
Pattern s split Method, with Two Arguments 396
Additional Examples 397
Adding Width and Height Attributes to Image Tags 397
Validating HTML with Multiple Patterns Per Matcher 399
Parsing Comma-Separated Values (CSV) Text 401
Java Version Differences 401
Differences Between 142 and 150 402
Differences Between 150 and 1 6 403
xiv Table of Contents
9: NET 405
NET S Regex Flavor 406
Additional Comments on the Flavor 409
Using NET Regular Expressions 413
Regex Quickstart 413
Package Overview 415
Core Object Overview 416
Core Object Details 418
Creating Regex Objects 419
Using Regex Objects 421
Using Match Objects 427
Using Group Objects 430
Static Convenience Functions 431
Regex Caching 432
Support Functions 432
Advanced NET 434
Regex Assemblies 434
Matching Nested Constructs 436
Capture Objects 437
10: PHP 439
PHP s Regex Flavor 441
The Preg Function Interface 443
Pattern Arguments 444
The Preg Functions 449
preg_match 449
preg_match_all 453
preg_replace 458
preg_replace_cal lback 463
preg_split 465
preg_grep 469
preg_quote 470
Missing Preg Functions 471
preg_regex_to_pat tern 472
Syntax-Checking an Unknown Pattern Argument 474
Syntax-Checking an Unknown Regex 475
Recursive Expressions 475
Matching Text with Nested Parentheses 475
No Backtracking Into Recursion 477
Table of Contents xv
Matching a Set of Nested Parentheses 478
PHP Efficiency Issues 478
The S Pattern Modifier: Study 478
Extended Examples 480
CSV Parsing with PHP 480
Checking Tagged Data for Proper Nesting 481
Index 485
|
adam_txt |
Mastering Regular Expressions
Third Edition
Jeffrey E F Friedl
O'REILLY*
Beijing • Cambridge • Farnham • Koln • Paris • Sebastopol • Taipei • Tokyo
Table of Contents
Preface xvii
1: Introduction to Regular Expressions l
Solving Real Problems 2
Regular Expressions as a Language 4
The Filename Analogy 4
The Language Analogy 5
The Regular-Expression Frame of Mind 6
If You Have Some Regular-Expression Experience 6
Searching Text Files: Egrep 6
Egrep Metacharacters 8
Start and End of the Line 8
Character Classes 9
Matching Any Character with Dot 11
Alternation 13
Ignoring Differences in Capitalization 14
Word Boundaries 15
In a Nutshell 16
Optional Items 17
Other Quantifiers: Repetition 18
Parentheses and Backreferences 20
The Great Escape 22
Expanding the Foundation 23
Linguistic Diversification 23
The Goal of a Regular Expression 23
vii
viii Table of Contents
A Few More Examples 23
Regular Expression Nomenclature 27
Improving on the Status Quo 30
Summary 32
Personal Glimpses 33
2: Extended Introductory Examples 35
About the Examples 36
A Short Introduction to Perl 37
Matching Text with Regular Expressions 38
Toward a More Real-World Example 40
Side Effects of a Successful Match 40
Intertwined Regular Expressions 43
Intermission 49
Modifying Text with Regular Expressions 50
Example: Form Letter 50
Example: Prettifying a Stock Price 51
Automated Editing 53
A Small Mail Utility 53
Adding Commas to a Number with Lookaround 59
Text-to-HTML Conversion 67
That Doubled-Word Thing 77
3: Overview of Regular Expression Features and Flavors 83
A Casual Stroll Across the Regex Landscape 85
The Origins of Regular Expressions 85
At a Glance 91
Care and Handling of Regular Expressions 93
Integrated Handling 94
Procedural and Object-Oriented Handling 95
A Search-and-Replace Example 98
Search and Replace in Other Languages 100
Care and Handling: Summary 101
Strings, Character Encodings, and Modes 101
Strings as Regular Expressions 101
Character-Encoding Issues 105
Unicode 106
Regex Modes and Match Modes 110
Common Metacharacters and Features 113
Table of Contents ix
Character Representations 115
Character Classes and Class-Like Constructs 118
Anchors and Other Zero-Width Assertions 129
Comments and Mode Modifiers 135
Grouping, Capturing, Conditionals, and Control 137
Guide to the Advanced Chapters 142
4: The Mechanics of Expression Processing 143
Start Your Engines! 143
Two Kinds of Engines 144
New Standards 144
Regex Engine Types 145
From the Department of Redundancy Department 146
Testing the Engine Type 146
Match Basics 147
About the Examples 147
Rule 1: The Match That Begins Earliest Wins 148
Engine Pieces and Parts 149
Rule 2: The Standard Quantifiers Are Greedy 151
Regex-Directed Versus Text-Directed 153
NFA Engine: Regex-Directed 153
DFA Engine: Text-Directed 155
First Thoughts: NFA and DFA in Comparison 156
Backtracking 157
A Really Crummy Analogy 158
Two Important Points on Backtracking 159
Saved States 159
Backtracking and Greediness 162
More About Greediness and Backtracking 163
Problems of Greediness 164
Multi-Character Quotes 165
Using Lazy Quantifiers 166
Greediness and Laziness Always Favor a Match 167
The Essence of Greediness, Laziness, and Backtracking 168
Possessive Quantifiers and Atomic Grouping 169
Possessive Quantifiers, ?+, *+, ++, and lm,nl+ 172
The Backtracking of Lookaround 173
Is Alternation Greedy? 174
Taking Advantage of Ordered Alternation 175
x Table of Contents
NFA, DFA, andPOSIX 177
The Longest-Leftmost 177
POSK and the Longest-Leftmost Rule : 178
Speed and Efficiency 179
Summary: NFA and DFA in Comparison 180
Summary 183
5: Practical Regex Techniques 185
Regex Balancing Act 186
A Few Short Examples 186
Continuing with Continuation Lines 186
Matching an IP Address 187
Working with Filenames 190
Matching Balanced Sets of Parentheses : 193
Watching Out for Unwanted Matches 194
Matching Delimited Text 196
Knowing Your Data and Making Assumptions 198
Stripping Leading and Trailing Whitespace 199
HTML-Related Examples 200
Matching an HTML Tag 200
Matching an HTML Link 201
Examining an HTTP URL 203
Validating a Hostname 203
Plucking Out a URL in the Real World 206
Extended Examples 208
Keeping in Sync with Your Data 209
Parsing CSV Files 213
6: Crafting an Efficient Expression 221
A Sobering Example 222
A Simple Change—Placing Your Best Foot Forward 223
Efficiency Versus Correctness 223
Advancing Further—Localizing the Greediness 225
Reality Check 226
A Global View of Backtracking 228
More Work for a POSDC NFA 229
Work Required During a Non-Match 230
Being More Specific 231
Alternation Can Be Expensive 231
Table of Contents xi
Benchmarking 232
Know What You're Measuring 234
Benchmarking with PHP 234
Benchmarking with Java 235
Benchmarking with VB NET 237
Benchmarking with Ruby 238
Benchmarking with Python 238
Benchmarking with Tel 239
Common Optimizations 240
No Free Lunch 240
Everyone's Lunch is Different 241
The Mechanics of Regex Application 241
Pre-Application Optimizations 242
Optimizations with the Transmission 246
Optimizations of the Regex Itself 247
Techniques for Faster Expressions 252
Common Sense Techniques 254
Expose Literal Text 255
Expose Anchors 256
Lazy Versus Greedy: Be Specific 256
Split Into Multiple Regular Expressions 257
Mimic Initial-Character Discrimination 258
Use Atomic Grouping and Possessive Quantifiers 259
Lead the Engine to a Match 260
Unrolling the Loop 261
Method 1: Building a Regex From Past Experiences 262
The Real Unrolling-the-Loop Pattern 264
Method 2: A Top-Down View 266
Method 3: An Internet Hostname 267
Observations 268
Using Atomic Grouping and Possessive Quantifiers 268
Short Unrolling Examples 270
Unrolling C Comments 272
The Freeflowing Regex 277
A Helping Hand to Guide the Match 277
A Well-Guided Regex is a Fast Regex 279
Wrapup 281
In Summary: Think! ' 281
Table of Contents
7: Perl 283
Regular Expressions as a Language Component 285
Peri's Greatest Strength 286
Perl's Greatest Weakness 286
Peri's Regex Flavor 286
Regex Operands and Regex Literals 288
How Regex Literals Are Parsed 292
Regex Modifiers 292
Regex-Related Perlisms 293
Expression Context 294
Dynamic Scope and Regex Match Effects 295
Special Variables Modified by a Match 299
The qr/7 Operator and Regex Objects 303
Building and Using Regex Objects 303
Viewing Regex Objects 305
Using Regex Objects for Efficiency 306
The Match Operator 306
Match's Regex Operand 307
Specifying the Match Target Operand 308
Different Uses of the Match Operator 309
Iterative Matching: Scalar Context, with /g 312
The Match Operator's Environmental Relations 316
The Substitution Operator : 318
The Replacement Operand 319
The /e Modifier 319
Context and Return Value 321
The Split Operator 321
Basic Split 322
Returning Empty Elements 324
Split's Special Regex Operands 325
Split's Match Operand with Capturing Parentheses 326
Fun with Perl Enhancements 326
Using a Dynamic Regex to Match Nested Pairs 328
Using the Embedded-Code Construct 331
Using l oca l in an Embedded-Code Construct 335
A Warning About Embedded Code and my Variables 338
Matching Nested Constructs with Embedded Code 340
Overloading Regex Literals 341
Problems with Regex-Literal Overloading 344
Table of Contents xm
Mimicking Named Capture 344
Perl Efficiency Issues 347
There's More Than One Way to Do It 348
Regex Compilation, the /o Modifier, qr/-/, and Efficiency 348
Understanding the Pre-Match Copy 355
The Study Function 359
Benchmarking 360
Regex Debugging Information 361
Final Comments 363
8: Java 365
Java's Regex Flavor 366
Java Support for \p{ ••} and \P{- } 369
Unicode Line Terminators 370
Using java util regex 371
The Pa tte rn compi le() Factory 372
Pattern's matcher method 373
The Matcher Object 373
Applying the Regex 375
Querying Match Results 376
Simple Search and Replace 378
Advanced Search and Replace 380
In-Place Search and Replace 382
The Matcher's Region 384
Method Chaining 389
Methods for Building a Scanner 389
Other Matcher Methods 392
Other Pattern Methods 394
Pattern's split Method, with One Argument 395
Pattern's split Method, with Two Arguments 396
Additional Examples 397
Adding Width and Height Attributes to Image Tags 397
Validating HTML with Multiple Patterns Per Matcher 399
Parsing Comma-Separated Values (CSV) Text 401
Java Version Differences 401
Differences Between 142 and 150 402
Differences Between 150 and 1 6 403
xiv Table of Contents
9: NET 405
NET'S Regex Flavor 406
Additional Comments on the Flavor 409
Using NET Regular Expressions 413
Regex Quickstart 413
Package Overview 415
Core Object Overview 416
Core Object Details 418
Creating Regex Objects 419
Using Regex Objects 421
Using Match Objects 427
Using Group Objects 430
Static Convenience Functions 431
Regex Caching 432
Support Functions 432
Advanced NET 434
Regex Assemblies 434
Matching Nested Constructs 436
Capture Objects 437
10: PHP 439
PHP's Regex Flavor 441
The Preg Function Interface 443
Pattern Arguments 444
The Preg Functions 449
preg_match 449
preg_match_all 453
preg_replace 458
preg_replace_cal lback 463
preg_split 465
preg_grep 469
preg_quote 470
Missing Preg Functions 471
preg_regex_to_pat tern 472
Syntax-Checking an Unknown Pattern Argument 474
Syntax-Checking an Unknown Regex 475
Recursive Expressions 475
Matching Text with Nested Parentheses 475
No Backtracking Into Recursion 477
Table of Contents xv
Matching a Set of Nested Parentheses 478
PHP Efficiency Issues 478
The S Pattern Modifier: Study 478
Extended Examples 480
CSV Parsing with PHP 480
Checking Tagged Data for Proper Nesting 481
Index 485 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Friedl, Jeffrey E. F. |
author_facet | Friedl, Jeffrey E. F. |
author_role | aut |
author_sort | Friedl, Jeffrey E. F. |
author_variant | j e f f jef jeff |
building | Verbundindex |
bvnumber | BV022312847 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.9.T48 |
callnumber-search | QA76.9.T48 |
callnumber-sort | QA 276.9 T48 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 240 |
ctrlnum | (OCoLC)255434418 (DE-599)BVBBV022312847 |
dewey-full | 005.711 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.711 |
dewey-search | 005.711 |
dewey-sort | 15.711 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 3. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03257nam a2200745 c 4500</leader><controlfield tag="001">BV022312847</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20070608 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">070315s2006 d||| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">06,N32,0030</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">980560845</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780596528126</subfield><subfield code="c">: EUR 43.00 (freier Pr.)</subfield><subfield code="9">978-0-596-52812-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0596528124</subfield><subfield code="c">: EUR 43.00 (freier Pr.)</subfield><subfield code="9">0-596-52812-4</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9780596528126</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)255434418</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV022312847</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-898</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-188</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.9.T48</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.711</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 240</subfield><subfield code="0">(DE-625)143625:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Friedl, Jeffrey E. F.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Mastering regular expressions</subfield><subfield code="b">[understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!]</subfield><subfield code="c">Jeffrey E. F. Friedl</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2006</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIV, 515 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Perl <Programmiersprache> - Regulärer Ausdruck</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programmiersprache - Regulärer Ausdruck - Microsoft dot net</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer programming</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Perl (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Text processing (Computer science)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Regulärer Ausdruck</subfield><subfield code="0">(DE-588)4506116-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Textverarbeitung</subfield><subfield code="0">(DE-588)4059667-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Perl</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4307836-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarewerkzeug</subfield><subfield code="0">(DE-588)4116526-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Befehl</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4458688-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Regulärer Ausdruck</subfield><subfield code="g">Textverarbeitung</subfield><subfield code="0">(DE-588)4490926-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Perl</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4307836-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Regulärer Ausdruck</subfield><subfield code="0">(DE-588)4506116-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Regulärer Ausdruck</subfield><subfield code="0">(DE-588)4506116-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Perl</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4307836-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="1"><subfield code="a">Befehl</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4458688-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Softwarewerkzeug</subfield><subfield code="0">(DE-588)4116526-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="1"><subfield code="a">Textverarbeitung</subfield><subfield code="0">(DE-588)4059667-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="4" ind2="0"><subfield code="a">Regulärer Ausdruck</subfield><subfield code="g">Textverarbeitung</subfield><subfield code="0">(DE-588)4490926-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2=" "><subfield code="8">3\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015522354&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-015522354</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">3\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV022312847 |
illustrated | Illustrated |
index_date | 2024-07-02T16:59:01Z |
indexdate | 2024-07-09T20:54:45Z |
institution | BVB |
isbn | 9780596528126 0596528124 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015522354 |
oclc_num | 255434418 |
open_access_boolean | |
owner | DE-898 DE-BY-UBR DE-824 DE-19 DE-BY-UBM DE-188 |
owner_facet | DE-898 DE-BY-UBR DE-824 DE-19 DE-BY-UBM DE-188 |
physical | XXIV, 515 S. graph. Darst. |
publishDate | 2006 |
publishDateSearch | 2006 |
publishDateSort | 2006 |
publisher | O'Reilly |
record_format | marc |
spelling | Friedl, Jeffrey E. F. Verfasser aut Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] Jeffrey E. F. Friedl 3. ed. Beijing [u.a.] O'Reilly 2006 XXIV, 515 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Perl <Programmiersprache> - Regulärer Ausdruck Programmiersprache - Regulärer Ausdruck - Microsoft dot net Computer programming Perl (Computer program language) Text processing (Computer science) Regulärer Ausdruck (DE-588)4506116-6 gnd rswk-swf Textverarbeitung (DE-588)4059667-9 gnd rswk-swf Microsoft dot net (DE-588)4645646-6 gnd rswk-swf Programmiersprache (DE-588)4047409-4 gnd rswk-swf Perl Programmiersprache (DE-588)4307836-9 gnd rswk-swf Softwarewerkzeug (DE-588)4116526-3 gnd rswk-swf Befehl Informatik (DE-588)4458688-7 gnd rswk-swf Regulärer Ausdruck Textverarbeitung (DE-588)4490926-3 gnd rswk-swf Perl Programmiersprache (DE-588)4307836-9 s Regulärer Ausdruck (DE-588)4506116-6 s DE-604 Microsoft dot net (DE-588)4645646-6 s Programmiersprache (DE-588)4047409-4 s Befehl Informatik (DE-588)4458688-7 s 1\p DE-604 Softwarewerkzeug (DE-588)4116526-3 s Textverarbeitung (DE-588)4059667-9 s 2\p DE-604 Regulärer Ausdruck Textverarbeitung (DE-588)4490926-3 s 3\p DE-604 HEBIS Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015522354&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 3\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Friedl, Jeffrey E. F. Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] Perl <Programmiersprache> - Regulärer Ausdruck Programmiersprache - Regulärer Ausdruck - Microsoft dot net Computer programming Perl (Computer program language) Text processing (Computer science) Regulärer Ausdruck (DE-588)4506116-6 gnd Textverarbeitung (DE-588)4059667-9 gnd Microsoft dot net (DE-588)4645646-6 gnd Programmiersprache (DE-588)4047409-4 gnd Perl Programmiersprache (DE-588)4307836-9 gnd Softwarewerkzeug (DE-588)4116526-3 gnd Befehl Informatik (DE-588)4458688-7 gnd Regulärer Ausdruck Textverarbeitung (DE-588)4490926-3 gnd |
subject_GND | (DE-588)4506116-6 (DE-588)4059667-9 (DE-588)4645646-6 (DE-588)4047409-4 (DE-588)4307836-9 (DE-588)4116526-3 (DE-588)4458688-7 (DE-588)4490926-3 |
title | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] |
title_auth | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] |
title_exact_search | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] |
title_exact_search_txtP | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] |
title_full | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] Jeffrey E. F. Friedl |
title_fullStr | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] Jeffrey E. F. Friedl |
title_full_unstemmed | Mastering regular expressions [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] Jeffrey E. F. Friedl |
title_short | Mastering regular expressions |
title_sort | mastering regular expressions understand your data and be more productive for perl php java net ruby and more |
title_sub | [understand your data and be more productive ; for Perl, PHP, Java, .NET, Ruby, and More!] |
topic | Perl <Programmiersprache> - Regulärer Ausdruck Programmiersprache - Regulärer Ausdruck - Microsoft dot net Computer programming Perl (Computer program language) Text processing (Computer science) Regulärer Ausdruck (DE-588)4506116-6 gnd Textverarbeitung (DE-588)4059667-9 gnd Microsoft dot net (DE-588)4645646-6 gnd Programmiersprache (DE-588)4047409-4 gnd Perl Programmiersprache (DE-588)4307836-9 gnd Softwarewerkzeug (DE-588)4116526-3 gnd Befehl Informatik (DE-588)4458688-7 gnd Regulärer Ausdruck Textverarbeitung (DE-588)4490926-3 gnd |
topic_facet | Perl <Programmiersprache> - Regulärer Ausdruck Programmiersprache - Regulärer Ausdruck - Microsoft dot net Computer programming Perl (Computer program language) Text processing (Computer science) Regulärer Ausdruck Textverarbeitung Microsoft dot net Programmiersprache Perl Programmiersprache Softwarewerkzeug Befehl Informatik Regulärer Ausdruck Textverarbeitung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015522354&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT friedljeffreyef masteringregularexpressionsunderstandyourdataandbemoreproductiveforperlphpjavanetrubyandmore |