Forum und email

Regular Expression Functions (POSIX Extended)

소개

Tip

PHP also supports regular expressions using a Perl-compatible syntax using the PCRE functions. Those functions support non-greedy matching, assertions, conditional subpatterns, and a number of other features not supported by the POSIX-extended regular expression syntax.

Warning

These regular expression functions are not binary-safe. The PCRE functions are.

Regular expressions are used for complex string manipulation. PHP uses the POSIX extended regular expressions as defined by POSIX 1003.2. For a full description of POSIX regular expressions see the » regex man pages included in the regex directory in the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

Warning

Do not change the TYPE unless you know what you are doing.

To enable regexp support configure PHP --with-regex[=TYPE]. TYPE can be one of system, apache, php. The default is to use php.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

Example#1 Regular Expression Examples

<?php
// Returns true if "abc" is found anywhere in $string.
ereg("abc"$string);            

// Returns true if "abc" is found at the beginning of $string.
ereg("^abc"$string);

// Returns true if "abc" is found at the end of $string.
ereg("abc$"$string);

// Returns true if client browser is Netscape 2, 3 or MSIE 3.
eregi("(ozilla.[23]|MSIE.3)"$_SERVER["HTTP_USER_AGENT"]);

// Places three space separated words into $regs[1], $regs[2] and $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)"$string$regs); 

// Put a <br /> tag at the beginning of $string.
$string ereg_replace("^""<br />"$string); 
 
// Put a <br /> tag at the end of $string.
$string ereg_replace("$""<br />"$string); 

// Get rid of any newline characters in $string.
$string ereg_replace("\n"""$string);
?>

참고

For regular expressions in Perl-compatible syntax have a look at the PCRE functions. The simpler shell style wildcard pattern matching is provided by fnmatch().

Table of Contents

  • ereg_replace — Replace regular expression
  • ereg — Regular expression match
  • eregi_replace — Replace regular expression case insensitive
  • eregi — Case insensitive regular expression match
  • split — Split string into array by regular expression
  • spliti — Split string into array by regular expression case insensitive
  • sql_regcase — Make regular expression for case insensitive match