찾다
php教程php手册PHP学习正则表达式 课件第1/2页

PHP学习正则表达式 课件第1/2页

Jun 13, 2016 pm 12:28 PM
php기능기능존재하다공부하다도서관구현하다정기적인유사표현

正则表达式

在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异:
一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_”为前缀命名的函数;
一套由POSIX(Portable Operating System Interface of Unix )扩展提供的(PHP默认)。使用以“ereg_”为前缀命名的函数;
PHP中,正则表达式有三个作用:
   匹配,也常常用于从字符串中析取信息。
   用新文本代替匹配文本。
   将一个字符串拆分为一组更小的信息块。

一个正则表达式中至少包含一个原子。
原子(普通字符,如英文字符)
元字符(有特殊功用的字符)
模式修正字符(对正则表达式语义的修正)


      原子(Atom)
单个字符、数字,如a~z,A~Z,0~9。
模式单元,如(ABC)可以理解为由多个原子组成的大的原子。
原子表,如 [ABC]。
重新使用的模式单元,如:\\1
普通转义字符,如:\d, \D, \w
转义元字符,如:\*,\.

      POSIX正则表达式
POSIX正则表达式全称为Portable Operating System Interface of Unix,意为UNIX可移植操作系实现接口。

构造POSIX正则表达式的方法和创建数学表达式的方法一样,也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。


      元字符(Meta-character)
元字符是用于构造规则表达式的具有特殊含义的字符。如果要在正则表达式中包含元字符本身,必须在其前加上”\”进行转义 
元字符      说明
*        0次、1次或多次匹配其前的原子
+        1次或多次匹配其前的原子
?        0次或1次匹配其前的原子
|        匹配两个或多个选择  列如 [1-9]|[a-b]|[A-Z] 与其中任何匹配为ture
^        匹配字符串串首的原子  例如 abscd===^afdgfgf 相匹配
$        匹配字符串串尾的原子  例如 dasdsv===v$
[]        匹配方括号中的任一原子  例如 s===[dsadas]
[^]      匹配除方括号中的原子外的任何字符 例如 aaaaa===[dddd]
{m}      表示其前原子恰好出现m次  
{m,n}      表示其前原子至少出现m次,至少出现n次(n>m)
{m,}      表示其前原子出现不少于m次
()        整体表示一个原子
.        匹配除换行之外的任何一个字符

^ $  这两个原字符在一起称为定界
abd===^abc$  只有这样才匹配

    模式匹配的顺序 
顺序  元字符    说明
     1    ()         模式单元  
     2    ?* +{}      重复匹配
     3     ^$        边界限制
     4              |        模式选择

    POSIX正则表达式函数
ereg()和eregi()
ereg_replace()和eregi_replace()
split()和spliti()

ereg()和eregi()ereg()字符串匹配函数,eregi()是ereg()函数的忽略大小的版本
语法格式:if (!ereg('^[^./][^/]*$', $userfile))//不匹配格式输出die
  {
    die('这是一个非法的文件名!');
  }

ereg_replace()和eregi_replace(忽略大小写)替换
string eregi_replace (“正则表达式”,“目标替换字符”,“替换目标”)
语法格式:$string = "This is a test";
  echo str_replace(" is", " was", $string);
  echo ereg_replace("( )is", "\\1was", $string);\\1 为继承第一个整体
  echo ereg_replace("(( )is)", "\\2was", $string);\\2继承第二个整体

split()和spliti(忽略大小写)用正则表达式将字符串分割到数组中
list:给数组中的值赋予一些变量
语法格式:$date = "04/30/1973";
  list($month, $day, $year) = split ('[/.-]', $date);//列出三个变数对应格式//以什么形式拆分 拆分谁
  echo "Month: $month; Day: $day; Year: $year
\n";
  输出结果Month: 04; Day: 30; Year: 1973

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.