php regular expressions

3
PHP Manual ????? ????? CXXII. Regular Expression Functions (Perl- Compatible) Introduction The syntax for patterns used in these functions closely resembles Perl. The expression should be enclosed in the delimiters, a forward slash (/), for example. Any character can be used for delimiter as long as it's not alphanumeric or backslash (\). If the delimiter character has to be used in the expression itself, it needs to be escaped by backslash. Since PHP 4.0.4, you can also use Perl-style (), {}, [], and <> matching delimiters. See Pattern Syntax for detailed explanation. The ending delimiter may be followed by various modifiers that affect the matching. See Pattern Modifiers . PHP also supports regular expressions using a POSIX-extended syntax using the POSIX - extended regex functions . Requirements Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel, and copyright by the University of Cambridge, England. It is available at ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ . Installation Beginning with PHP 4.2.0 these functions are enabled by default. You can disable the pcre functions with --without-pcre-regex. Use --with-pcre-regex=DIR to specify DIR where PCRE's include and library files are located, if not using bundled library. For older versions you have to configure and compile PHP with --with-pcre-regex[=DIR] in order to use these functions. The windows version of PHP has built in support for this extension. You do not need to load any additional extension in order to use these functions. Runtime Configuration This extension has no configuration directives defined in php.ini. Resource Types This extension has no resource types defined. Predefined Constants The constants below are defined by this extension, and will only be available when the ????? You should be aware of some limitations of PCRE. Read http://www.pcre.org/pcre.txt for more info.

Upload: dirk-vos

Post on 07-Mar-2016

214 views

Category:

Documents


0 download

DESCRIPTION

Introduction Installation You should be aware of some limitations of PCRE. Read http://www.pcre.org/pcre.txt for more info. The ending delimiter may be followed by various modifiers that affect the matching. See Pattern Modifiers. PHP also supports regular expressions using a POSIX-extended syntax using the POSIX- extended regex functions. The windows version of PHP has built in support for this extension. You do not need to load any additional extension in order to use these functions. ?????

TRANSCRIPT

Page 1: PHP regular expressions

PHP Manual

????? ?????

CXXII. Regular Expression Functions (Perl-Compatible)

Introduction

The syntax for patterns used in these functions closely resembles Perl. The expression should be enclosed in the delimiters, a forward slash (/), for example. Any character can be

used for delimiter as long as it's not alphanumeric or backslash (\). If the delimiter character has to be used in the expression itself, it needs to be escaped by backslash. Since PHP 4.0.4,

you can also use Perl-style (), {}, [], and <> matching delimiters. See Pattern Syntax for

detailed explanation.

The ending delimiter may be followed by various modifiers that affect the matching. See Pattern Modifiers.

PHP also supports regular expressions using a POSIX-extended syntax using the POSIX-

extended regex functions.

Requirements

Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel, and copyright by the University of Cambridge, England. It

is available at ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/.

Installation

Beginning with PHP 4.2.0 these functions are enabled by default. You can disable the pcre

functions with --without-pcre-regex. Use --with-pcre-regex=DIR to specify DIR where PCRE's

include and library files are located, if not using bundled library. For older versions you have to configure and compile PHP with --with-pcre-regex[=DIR] in order to use these functions.

The windows version of PHP has built in support for this extension. You do not need to load

any additional extension in order to use these functions.

Runtime Configuration

This extension has no configuration directives defined in php.ini.

Resource Types

This extension has no resource types defined.

Predefined Constants

The constants below are defined by this extension, and will only be available when the

?????

You should be aware of some limitations of PCRE. Read http://www.pcre.org/pcre.txt for

more info.

Page 2: PHP regular expressions

extension has either been compiled into PHP or dynamically loaded at runtime.

???? 1. PREG constants

Examples

???? Pattern Modifiers -- Describes possible modifiers in regex patterns

Pattern Syntax -- Describes PCRE regex syntax

preg_grep -- Return array entries that match the pattern preg_match_all -- Perform a global regular expression match

preg_match -- Perform a regular expression match preg_quote -- Quote regular expression characters

preg_replace_callback -- Perform a regular expression search and replace using a callback

preg_replace -- Perform a regular expression search and replace preg_split -- Split string by a regular expression

constant description

PREG_PATTERN_ORDER

Orders results so that $matches[0] is an array of full

pattern matches, $matches[1] is an array of strings

matched by the first parenthesized subpattern, and so on. This flag is only used with preg_match_all().

PREG_SET_ORDER

Orders results so that $matches[0] is an array of first set of matches, $matches[1] is an array of second set of

matches, and so on. This flag is only used with

preg_match_all().

PREG_OFFSET_CAPTURESee the description of PREG_SPLIT_OFFSET_CAPTURE. This

flag is available since PHP 4.3.0.

PREG_SPLIT_NO_EMPTYThis flag tells preg_split() to return only non-empty pieces.

PREG_SPLIT_DELIM_CAPTUREThis flag tells preg_split() to capture parenthesized expression in the delimiter pattern as well. This flag is

available since PHP 4.0.5.

PREG_SPLIT_OFFSET_CAPTURE

If this flag is set, for every occurring match the appendant string offset will also be returned. Note that this changes

the return values in an array where every element is an array consisting of the matched string at offset 0 and its

string offset within subject at offset 1. This flag is available

since PHP 4.3.0 and is only used for preg_split().

????? 1. Examples of valid patterns

� /<\/\w+>/

� |(\d{3})-\d+|Sm

� /^(?i)php[34]/

� {^\s+(\s+)?$}

????? 2. Examples of invalid patterns

� /href='(.*)' - missing ending delimiter

� /\w+\s*\w+/J - unknown modifier 'J'

� 1-\d3-\d3-\d4| - missing starting delimiter

Page 3: PHP regular expressions

????? ??? ???? ?????

rar_open ????? Pattern Modifiers