ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Mastering Regular Expressions

دانلود کتاب تسلط بر عبارات منظم

Mastering Regular Expressions

مشخصات کتاب

Mastering Regular Expressions

دسته بندی: کامپیوتر
ویرایش: 3rd 
نویسندگان:   
سری:  
ISBN (شابک) : 0596528124 
ناشر:  
سال نشر: 2006 
تعداد صفحات: 0 
زبان: English 
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 33 مگابایت 

قیمت کتاب (تومان) : 43,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 6


در صورت تبدیل فایل کتاب Mastering Regular Expressions به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب تسلط بر عبارات منظم نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب تسلط بر عبارات منظم

عبارات منظم و نحوه استفاده از آنها را معرفی می کند، در مورد موضوعاتی از جمله فراکاراکترها، نامگذاری، تطبیق و اصلاح متن، پردازش عبارت، محک زدن، بهینه سازی ها و حلقه ها بحث می کند.


توضیحاتی درمورد کتاب به خارجی

Introduces regular expressions and how they are used, discussing topics including metacharacters, nomenclature, matching and modifying text, expression processing, benchmarking, optimizations, and loops.



فهرست مطالب

Table of Contents
Preface
	The Need for This Book
	Intended Audience
	How to Read This Book
	Organization
		The Details
		Tool-Specific Information
	Typographical Conventions
	Exercises
	Links, Code, Errata, and Contacts
		Safar i®Enabled
	Personal Comments and
Introduction to Regular Expressions
	Solving Real Problems
	Regular Expressions as a Language
		The Filename Analogy
		The Language Analogy
			The goal of this book
	The Regular-Expression Frame of Mind
		If You Have Some Regular-Expression Experience
		Searching Text Files: Egrep
	Egrep Metacharacter s
		Start and End of the Line
		Character Classes
			Matching any one of several character s
			Negated character classes
		Matching Any Character with Dot
		Alternation
			Matching any one of several subexpressions
		Ignoring Differences in Capitalization
		Word Boundaries
		In a Nutshell
		Optional Items
		Other Quantifiers: Repetition
			Defined range of matches: intervals
		Parentheses and Backreferences
		The Great Escape
	Expanding the Foundation
		Linguistic Diver sification
		The Goal of a Regular Expression
		A Few More Examples
			Variable names
			A string within double quotes
			Dollar amount (with optional cents)
			An HTTP/HTML URL
			An HTML tag
		Regular Expression Nomenclature
			Regex
			Matching
			Metacharacter
			Flavor
			Subexpression
			Character
		Improving on the Status Quo
		Summary
	Personal Glimpses
Extended Introductory Examples
	About the Examples
		A Short Introduction to Perl
	Matching Text with Regular Expressions
		Toward a More Real-World Example
		Side Effects of a Successful Match
		Intertwined Regular Expressions
			A short aside--metacharacter s galore
			Generic "whitespace" with \s
		Intermission
	Modifying Text with Regular Expressions
		Example: Form Letter
		Example: Prettifying a Stock Price
		Automated Editing
		A Small Mail Utility
			Real-world problems, real-world solutions
			The "real" real world
		Adding Commas to a Number with Lookaround
			Lookaround doesn't "consume" text
			A few more lookahead examples
			Back to the comma example . . .
			Word boundar ies and negative lookaround
			Commafication without lookbehind
		Text-to-HTML Conversion
			Cooking special characters
			Separating paragraphs
			"Linkizing" an email address
			Matching the username and hostname
			Putting it together
			"Linkizing" an HTTP URL
			Building a regex library
			Why `$' and ` @' sometimes need to be escaped
		That Doubled-Word Thing
			Double-word example in Perl
			Moving bits around: operators, functions, and objects
			Double-word example in Java
Overview of Regular Expressions Features and Flavors
	Regular Expressions and Cars
	In This Chapter
	A Casual Stroll Across the Regex Landscape
		The Origins of Regular Expressions
			Grep's metacharacters
			Grep evolves
			Egrep evolves
			Other species evolve
			POSIXŁAn attempt at standardization
			Henry Spencer's regex package
			Perl evolves
			A partial consolidation of flavors
			Versions as of this book
		At a Glance
	Care and Handling of Regular Expressions
		Integrated Handling
		Procedural and Object-Oriented Handling
			Regex handling in Java
			Regex handling in VB and other .NET languages
			Regex handling in PHP
			Regex handling in Python
			Why do approaches differ?
		A Search-and-Replace Example
			Search and replace in Java
			Search and replace in VB.NET
			Search and replace in PHP
		Search and Replace in Other Languages
			Awk
			Tcl
			GNU Emacs
		Care and Handling: Summary
	Strings, Character Encodings, and Modes
		Strings as Regular Expressions
			Strings in Java
			Strings in VB.NET
			Strings in C#
			Strings in PHP
			Strings in Python
			Strings in Tcl
			Regex literals in Perl
		Character-Encoding Issues
			Richness of encoding-related support
		Unicode
			Characters versus combining-character sequences
			Multiple code points for the same character
			Unicode 3.1+ and code points beyond U +FFFF
			Unicode line terminator
		Regex Modes and Match Modes
			Case-insensitive match mode
			Free-spacing and comments regex mode
			Dot-matches-all match mode (a.k.a., Łsingle-line modeŁ)
			An unfortunate name.
			Enhanced line-anchor match mode (a.k.a., Łmultiline modeŁ)
			Literal-text regex mode
	Common Metacharacters and Features
		Constructs Covered in This Section
		Character Representations
			Character shorthands
			These are machine dependent?
			Octal escapeŁ \num
			Hex and Unicode escapes: \xnum, \x{num}, \unum, \Unum, ...
			Control characters: \cchar
		Character Classes and Class-Like Constructs
			Normal classes: [a-z]and [^a-z]
			Almost any character: dot
			Dot ver sus a negated character class
			Exactly one byte
			Unicode combining character sequence: \X
			Class shorthands: \w, \d, \s, \W, \D, \S
			Unicode properties, scripts, and blocks: \p{Prop }, \P{Prop }
			Scripts.
			Blocks.
			Other properties/qualities.
			Simple class subtraction:
			Full class set operations:
			Class subtraction with set operators.
			Mimicking class set operations with lookaround.
			POSIX bracket-expression Łcharacter classŁ: [[:alpha:]]
			POSIX bracket-expression Łcollating sequencesŁ: [[.span-ll.]]
			POSIX bracket-expression Łcharacter equivalentsŁ: [[=n=]]
			Emacs syntax classes
		Anchors and Other ŁZero-Width AssertionsŁ
			Start of line/string: ^, \A
			End of line/string: $, \Z, \z
			Start of match (or end of previous match): \G
			End of previous match, or start of the current match?
			Word boundaries: \b, \B, \<, \>, ...
			Lookahead (?=ŁŁŁ), (?!ŁŁŁ); Lookbehind, (?<=ŁŁŁ), (?ŁŁŁ)
			Atomic grouping: (?>ŁŁŁ)
			Alternation: ŁŁŁ<ŁŁŁ<ŁŁŁ
			Conditional: (?if then |else )
			Using lookaround as the test.
			Other tests for the conditional.
			Greedy quantifier s: ,, +, ?, {num,num}
			Inter valsŁ {min ,max }or \{min ,max \}
			Lazy quantifier s: , ?, +?, ??, {num,num}?
			Possessive quantifier s: , +, ++, ?+, {num,num}+
	Guide to the Advanced Chapters
The Mechanics of Expression Processing
	Start Your Engines!
		Two Kinds of Engines
		New Standards
			The impact of standards
		Regex Eng ine Types
		From the Depar tment of Redundancy Depar tment
		Testing the Engine Type
			Traditional NFA or not?
			DFA or POSIX NFA?
	Match Basics
		About the Examples
		Rule 1: The Match That Begins Earliest Wins
			The ŁtransmissionŁ and the bump-along
			The transmission's main work: the bump-along
		Engine Pieces and Par ts
			No ŁelectricŁ parentheses, backreferences, or lazy quantifier s
		Rule 2: The Standard Quantifiers Are Greedy
			A subjective example
			Being too greedy
			First come, fir st ser ved
			Getting down to the details
	Regex-Directed Versus Text-Directed
		NFA Engine: Regex-Directed
			The control benefits of an NFA engine
		DFA Engine: Text-Directed
		First Thoughts: NFA and DFA in Comparison
			Consequences to us as users
	Backtracking
		A Really Crummy Analogy
			A crummy little example
		Two Important Points on Backtracking
		Saved States
			A match without backtracking
			A match after backtracking
			A non-match
			A lazy match
		Backtracking and Greediness
			Star, plus, and their backtracking
			Revisiting a fuller example
	More About Greediness
		Problems of Greediness
		Multi-Character "Quotes"
		Using Lazy Quantifiers
		Greediness and Laziness Always Favor a Match
		The Essence of Greediness, Laziness, and Backtracking
		Possessive Quantifiers and Atomic Grouping
			Atomic grouping with !(?>ŁŁŁ)"
			The essence of atomic grouping
			Some states may remain.
			Faster failures with atomic grouping.
		Possessive Quantifier s, ?+, ++, ++, and {m,n}+
		The Backtracking of Lookaround
			Mimicking atomic grouping with positive lookahead
		Is Alternation Greedy?
		Taking Advantage of Ordered Alternation
			Ordered alternation pitfalls
	NFA, DFA, and POSIX
		"The Longest-Leftmost"
			Really, the longest
		POSIX and the Longest-Leftmost Rule
		Speed and Efficiency
			DFA efficiency
		Summary: NFA and DFA in Comparison
			DFA versus NFA: Differences in the pre-use compile
			DFA versus NFA: Differences in match speed
			DFA versus NFA: Differences in what is matched
			DFA versus NFA: Differences in capabilities
			DFA versus NFA: Differences in ease of implementation
	Summary
Practical Regex Techniques
	Regex Balancing Act
	A Few Short Examples
		Continuing with Continuation Lines
		Matching an IP Address
			Know your context
		Working with Filenames
			Removing the leading path from a filename
			Accessing the filename from a path
			Both leading path and filename
		Matching Balanced Sets of Parentheses
		Watching Out for Unwanted Matches
		Matching Delimited Text
			Allowing escaped quotes in double-quoted strings
		Knowing Your Data and Making Assumptions
		Stripping Leading and Trailing Whitespace
	HTML-Related Examples
		Matching an HTML Tag
		Matching an HTML Link
		Examining an HTTP URL
		Validating a Hostname
		Plucking Out a URL in the Real World
	Extended Examples
		Keeping in Sync with Your Data
			Keeping the match in sync with expectations
			Maintaining sync after a non-match as well
			Maintaining sync with \G
			This example in perspective
		Parsing CSV Files
			Distrusting the bump-along
			Another approach.
			One change for the sake of efficiency
			Other CSV formats
Crafting an Efficient Expression
	Tests and Backtracks
	Traditional NFA versus POSIX NFA
	A Sobering Example
		A Simple Change--Placing Your Best Foot Forward
		Efficiency Versus Correctness
		Advancing Further--Localizing the Greediness
		Reality Check
			"Exponential" matches
	A Global View of Backtracking
		More Work for a POSIX NFA
		Work Required During a Non-Match
		Being More Specific
		Alternation Can Be Expensive
	Benchmarking
		Know What You're Measuring
		Benchmarking with PHP
		Benchmarking with Java
		Benchmarking with VB.NET
		Benchmarking with Ruby
		Benchmarking with Python
		Benchmarking with Tcl
	Common Optimizations
		No Free Lunch
		Everyone's Lunch is Different
		The Mechanics of Regex Application
		Pre-Application Optimizations
			Compile caching
			Compile caching in the integrated approach
			Compile caching in the procedural approach
			Compile caching in the object-oriented approach
			Pre-check of required character/substring optimization
			Length-cognizance optimization
		Optimizations with the Transmission
			Start of string/line anchor optimization
			Implicit-anchor optimization
			End of string/line anchor optimization
			Initial character/c lass/substring discrimination optimization
			Embedded literal string check optimization
			Length-cognizance transmission optimization
		Optimizations of the Regex Itself
			Literal string concatenation optimization
			Simple quantifier optimization
			Needless parentheses elimination
			Character following lazy quantifier optimization
			"Excessive" backtracking detection
			Exponential (a.k.a., super-linear) short-circuiting
			State-suppression with possessive quantifiers
			Small quantifier equivalence
			Need cognizance
	Techniques for Faster Expressions
		Common Sense Techniques
			Avoid recompiling
			Use non-capturing parentheses
			Don't add superfluous parentheses
			Don't use superfluous character classes
			Use leading anchors
		Expose Literal Text
			"Factor out" required components from quantifier s
			"Factor out" required components from the front of alternation
		Expose Anchors
			Expose ^and \Gat the front of expressions
			Expose $at the end of expressions
		Lazy Versus Greedy: Be Specific
		Split Into Multiple Regular Expressions
		Mimic Initial-Character Discrimination
			Don't do this with Tcl
			Don't do this with PHP
		Use Atomic Grouping and Possessive Quantifier s
		Lead the Engine to a Match
			Put the most likely alternative first
			Distribute into the end of alternation
				This optimization can be dangerous.
	Unrolling the Loop
		Method 1: Building a Regex From Past Experiences
			Constructing a general Łunrolling-the-loopŁ pattern
		The Real Unrolling-the-Loop" Patter n
			Avoiding the neverending match
				1) The start of special and normal must never inter sect.
				2) Special must not match nothingness.
				3) Special must be atomic.
			General things to look out for
		Method 2: A Top-Down View
		Method 3: An Internet Hostname
			Observations
		Using Atomic Grouping and Possessive Quantifier s
			Making a neverending match safe with possessive quantifier s
			Making a neverending match safe with atomic grouping
		Short Unrolling Examples
			Unrolling "multi-character" quotes
			Unrolling the continuation-line example
			Unrolling the CSV regex
		Unrolling C Comments
			To unroll or to not unroll . . .
			Avoiding regex headaches
			A direct approach
			Making it work
			Unrolling the C loop
				Return to reality
	The Freeflowing Regex
		A Helping Hand to Guide the Match
		A Well-Guided Regex is a Fast Regex
		Wrapup
	In Summary: Think!
Perl
	In This Chapter
	Perl in Earlier Chapters
	Regular Expressions as a Language
		Perl's Greatest Strength
		Perl's Greatest Weakness
	Perl's Regex Flavor
		Regex Operands and Regex Literals
			Features supported by regex literals
			Picking your own regex delimiters
		How Regex Literals Are Parsed
		Regex Modifiers
	Regex-Related Perlisms
		Dynamic Scope and Regex Match Effects
			Global and private var iables
			Dynamically scoped values
			A better analogy: clear transparencies
			Regex side effects and dynamic scoping
			Dynamic scoping ver sus lexical scoping
		Expression Context
			Contorting an expression
		Special Variables Modified by a Match
			Using $1within a regex?
	The qr/ŁŁŁ/ Operator and Regex Objects
		Building and Using Regex Objects
			Match modes (or lack thereof) are ver y sticky
		Viewing Regex Objects
		Using Regex Objects for Efficiency
	The Match Operator
		Match's Regex Operand
			Using a regex literal
			Using a regex object
			The default regex
			Special match-once ?ŁŁŁ?
		Specifying the Match Target Operand
			The default target
			Negating the sense of the match
		Different Uses of the Match Operator
			Normal "does this match?"--scalar context without /g
			Normal "pluck data from a string"Łlist context, without /g
			"Pluck all matches"Łlist context, with the /g modifier
		Iterative Matching: Scalar Context, with /g
			The "current match location" and the pos()function
			Pre-setting a string's pos
			Using \G
			"Tag-team" matching with /gc
			Pos-related summary
		The Match Operator's Environmental Relations
			The match operator's side effects
			Outside influences on the match operator
			Keeping your mind in context (and context in mind)
	The Substitution Operator
		The Replacement Operand
		The /e Modifier
			Multiple uses of /e
		Context and Return Value
	The Split Operator
		Basic Split
			Basic match operand
			Target string operand
			Basic chunk-limit operand
			Advanced split
		Returning Empty Elements
			Trailing empty elements
			The chunk-limit operand's second job
			Special matches at the ends of the string
		Split's Special Regex Operands
			Split has no side effects
		Split's Match Operand with Capturing Parentheses
	Fun with Perl Enhancements
		Using a Dynamic Regex to Match Nested Pair s
		Using the Embedded-Code Construct
			Using embedded code to display match-time information
			Using embedded code to see all matches
			Finding the longest match
			Finding the longest-leftmost match
			Using embedded code in a conditional
		Using local in an Embedded-Code Construct
		A Warning About Embedded Code and my Variables
		Matching Nested Constructs with Embedded Code
		Overloading Regex Literals
			Adding start- and end-of-word metacharacter s
			Adding support for possessive quantifiers
		Problems with Regex-Literal Overloading
		Mimicking Named Capture
	Perl Efficiency Issues
		"There's More Than One Way to Do It"
		Regex Compilation, the /o Modifier, qr/ŁŁŁ/,
			The internal mechanics of preparing a regex
			Perl steps to reduce regex compilation
			Unconditional caching
			On-demand recompilation
			The "compile once" /o modifier
			Potential "gotchas" of /o
			Using regex objects for efficiency
			Using /o with qr/ŁŁŁ/
			Using the default regex for efficiency
		Understanding the "Pre-Match" Copy
			Pre-match copy suppor ts $1, $&, $', $+, . . .
			The pre-match copy is not always needed
			The variables $`, $&, and $'are naughty
			How expensive is the pre-match copy?
			Avoiding the pre-match copy
				Don't use naughty modules.
		The Study Function
			When not to use study
			When study can help
		Benchmarking
		Regex Debugging Information
			Run-time debugging infor mation
			Other ways to invoke debugging messages
	Final Comments
Java
	Java's Regex Flavor
		Java Support for \p{ŁŁŁ}and \P{ŁŁŁ}
			Unicode proper ties
			Unicode blocks
			Special Java character proper ties
		Unicode Line Terminators
	Using java.util.regex
	The Pattern.compile()Factor y
		Pattern's matchermethod
	The Matcher Object
		Applying the Regex
		Querying Match Results
			Match-result example
		Simple Search and Replace
			Simple search and replace examples
			The replacement argument
		Advanced Search and Replace
			Search-and-replace examples
		In-Place Search and Replace
			Using a different-sized replacement
		The Matcher's Reg ion
			Points to keep in mind
			Setting and inspecting region bounds
			Looking outside the current region
			Transparent bounds
			Anchoring bounds
		Method Chaining
		Methods for Building a Scanner
			Examples illustrating hitEndand requireEnd
			The hitEndbug and its workaround
		Other Matcher Methods
			Querying a matcher's target text
	Other Pattern Methods
		Pattern's split Method, with One Argument
			Empty elements with adjacent matches
		Pattern's split Method, with Two Arguments
			Split with a limit less than zero
			Split with a limit of zero
			Split with a limit greater than zero
	Additional Examples
		Adding Width and Height Attributes to Image Tags
		Validating HTML with Multiple Patterns Per Matcher
		Parsing Comma-Separated Values (CSV) Text
	Java Version Differences
		Differences Between 1.4.2 and 1.5.0
			New methods in Java 1.5.0
			Unicode-support differences between 1.4.2 and 1.5.0
		Differences Between 1.5.0 and 1.6
.NET
	.NET's Regex Flavor
		Additional Comments on the Flavor
			Named capture
			An unfortunate consequence
			Conditional tests
			"Compiled" expressions
			Right-to-left matching
			Backslash-dig it ambiguities
			ECMAScr ipt mode
	Using .NET Regular Expressions
		Regex Quickstart
			Quickstart: Checking a string for match
			Quickstart: Matching and getting the text matched
			Quickstart: Matching and getting captured text
			Quickstart: Search and replace
		Package Overview
			Importing the regex namespace
		Core Object Overview
			Regex objects
			Match objects
			Group objects
			Capture objects
			All results are computed at match time
	Core Object Details
		Creating Regex Objects
			Catching exceptions
			Regex options
		Using Regex Objects
			Using a replacement delegate
			Using Splitwith capturing parentheses
		Using Match Objects
		Using Group Objects
	Static "Convenience" Functions
		Regex Caching
		Support Functions
			Regex.Escape(string )
			Regex.Unescape(str ing )
			Match.Empty
			Regex.CompileToAssembly(ŁŁŁ)
	Advanced .NET
		Regex Assemblies
		Matching Nested Constructs
		Capture Objects
PHP
	PHP's Regex Flavor
	The Preg Function Interface
	"Pattern" Arguments
		PHP single-quoted strings
		Delimiters
		Pattern modifiers
			Mode modifiers outside the regex
			PHP-specific modifiers
	The Preg Functions
		preg_match
			Capturing match data
			Trailing "non-participatory" elements stripped
			Named capture
			Getting more details on the match: PREG_OFFSET_CAPTURE
			The offset argument
		preg_match_all
			Collecting match data
				The default PREG_PATTERN_ORDER ar rangement
				The PREG_SET_ORDER ar rangement
			pregR matchR alland the PREG_OFFSET_CAPTURE flag
			pregR matchR allwith named capture
		preg_replace
			Basic one-string, one-pattern, one-replacement pregR replace
			Multiple subjects, patterns, and replacements
				Ordering of array arguments
		preg_replace_callback
			A callback versus the e pattern modifier
		preg_split
			preg_split's limit argument
			preg_split's flag arguments
		preg_grep
		preg_quote
	"Missing" Preg Functions
		preg_regex_to_pattern
			The problem
			The solution
		Syntax-Checking an Unknown Pattern Argument
		Syntax-Checking an Unknown Regex
	Recursive Expressions
		Matching Text with Nested Parentheses
			Recursive reference to a set of capturing parentheses
			Recursive reference via named capture
			More on possessive quantifiers
		No Backtracking Into Recursion
		Matching a Set of Nested Parentheses
	PHP Efficiency Issues
		The S Pattern Modifier: "Study"
			Standard optimizations, without the S pattern modifier
			Enhancing the optimization with the S pattern modifier
			When the S pattern modifier can't help
			Suggested use
	Extended Examples
		CSV Parsing with PHP
		Checking Tagged Data for Proper Nesting
			The main body of this expression
			Possessive quantifiers
			Real-world XML
			HTML ?
Index




نظرات کاربران