The advantages andĭisadvantages of the alternative functions, and how they differ from the normalĪ number of options that can be passed to pcre_compile() can also be setīy special items at the start of a pattern. Some of the features discussedīelow are not available when DFA matching is used. Pcre_dfa_exec() and pcre[16|32_dfa_exec(), which match using aĭifferent algorithm that is not Perl-compatible. PCRE also has alternative matching functions, Main matching functions, pcre_exec() (8-bit) or pcre_exec() This document discusses the patterns that are supported by PCRE when one its Thisĭescription of PCRE's regular expressions is intended as reference material. Published by O'Reilly, covers regular expressions in great detail. Jeffrey Friedl's "Mastering Regular Expressions", Regular expressions in general are covered in a number of books, some of which Perl's regular expressions are described in its own documentation, and PCREĪlso supports some alternative regular expression syntax (which does notĬonflict with the Perl syntax) in order to provide some compatibility with PCRE tries to match Perl syntax and semantics as closely as it can. There is a quick-reference syntax summary in the The syntax and semantics of the regular expressions that are supported by PCREĪre described in detail below. ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS.COMPATIBILITY FEATURE FOR WORD BOUNDARIES.Man page, in case the conversion went wrong. If there is any nonsense in it, please consult the It was generated automaticallyįrom the original man page. This page is part of the PCRE HTML documentation. The regex house(cat|keeper) means match house followed by either cat or keeper.Pcrepattern specification pcrepattern man page Parts of a regex are grouped by enclosing them in parentheses. The grouping metacharacters () allow a part of a regex to be treated as a single unit. # Grouping things and hierarchical matching Here, all the alternatives match at the first string position, so the first matches. "cats" =~ /cats|cat|ca|c/ # matches "cats"Īt a given character position, the first alternative that allows the regex match to succeed will be the one that matches. "cats and dogs" =~ /dog|cat|bird/ # matches "cat"Įven though dog is the first alternative in the second regex, cat is able to match earlier in the string. Some examples: "cats and dogs" =~ /cat|dog|bird/ # matches "cat" If cat doesn't match either, then the match fails and Perl moves to the next position in the string. If dog doesn't match, Perl will then try the next alternative, cat. At each character position, Perl will first try to match the first alternative, dog. As before, Perl will try to match the regex at the earliest possible point in the string. To match dog or cat, we form the regex dog|cat. We can match different character strings with the alternation metacharacter '|'. "Hello World" =~ m /x # matches the whole string # Matching this or that If you're matching against $_, the $_ =~ part can be omitted: $_ = "Hello World" įinally, the // default delimiters for a match can be changed to arbitrary delimiters by putting an 'm' out front: "Hello World" =~ m!World! # matches, delimited by '!' Print "It matches\n" if "Hello World" =~ /$greeting/ The literal string in the regex can be replaced by a variable: $greeting = "World" The sense of the match can be reversed by using !~ operator: print "It doesn't match\n" if "Hello World" !~ /World/ This idea has several variations.Įxpressions like this are useful in conditionals: print "It matches\n" if "Hello World" =~ /World/ In our case, World matches the second word in "Hello World", so the expression is true. The operator =~ associates the string with the regex match and produces a true value if the regex matched, or false if the regex did not match. In this statement, World is a regex and the // enclosing /World/ tells Perl to search a string for a match. A regex consisting of a word matches any string that contains that word: "Hello World" =~ /World/ # matches The simplest regex is simply a word, or more generally, a string of characters. This page assumes you already know things, like what a "pattern" is, and the basic syntax of using them. This page covers the very basics of understanding, creating and using regular expressions ('regexes') in Perl. Perlrequick - Perl regular expressions quick start #DESCRIPTION Grouping things and hierarchical matching.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |