찾다
php教程PHP源码正则表达式普适两个原则


/* 
  *  规则: 优先选择最左端的匹配结果 
  * 示例: 用/fat|cat|belly|your/ 来匹配字符窜'the dragging belly indicated that your cat is too fat.'结果是什么? 
  * 结果: 是  belly 
  * 原因: 尽管fat在所有可能选项中列子最前头,但是它们都不是最先匹配的结果,所以不会被选择,其他的可能性也都会进行尝试匹配 
 */ 
  
 preg_match('/fat|cat|belly|your/','the dragging belly indicated that your cat is too fat.',$b); 
 //如果用preg_match_all()这个函数可以把素有情况匹配出来 为什么说贪婪匹配效率低 原因可能在这里了 
 //var_dump($b); 
  
 /* 
  * 规则: 标准量词是匹配优先的 
  * 示例: 用subject:(.*) 来匹配 'subject:wyxwuyongxin@126.com' 
  * 变化1: subject:(.*).* 
  * 变化2: subject:(.*)(.*) 
  * 结果: wyxwuyongxin@26.com 
  * 变化1结果: subject:wyxwuyongxin@26.com   wyxwuyongxin@26.com 
  * 变化2结果: subject:wyxwuyongxin@26.com   $1 wyxwuyongxin@26.com  $2 为空 
  * 变化1原因: .*是优先匹配的可以捕获$1的值为 wyxwuyongxin@26.com 第一个.*会霸占整个标题的文本,而不给第二个.*留下任 
  *何字符 
  * 第二个字符失败也补要紧,因为 .*不匹配任何字符也能成功. 
  * 变化2原因: 先来先服务, 后边没有必须匹配字符 所以不会强迫之前优先的部分释放某些字符 
  */ 
 preg_match('/subject:(.*)/','subject:wyxwuyongxin@26.com',$c); 
 preg_match('/subject:(.*).*/','subject:wyxwuyongxin@26.com',$c); 
 preg_match('/subject:(.*)(.*)/','subject:wyxwuyongxin@26.com',$c); 
 //var_dump($c); 
  
 /* 
  * 示例: 用/^.*([0-9][0-9])/ 匹配about 24 long 
  * 结果: about 24    $1捕获  24 
  * 原因: (过度优先匹配)[0-9]是必须匹配,在尝试匹配行末的时候回失败,这样会通知.* "你占用的太多了,交出一些,这样的我也 
  * 能匹配"优先组建首先会匹配尽可能多的字符,但是为了整个表达式,他通常要释放掉一些字符 遇到第一个[0-9]要求释放'g' 但是 
  * 还是不能匹配还要交还 下一个n o l 直到'4' 第二个[0-9] 在要求释放掉一个字符  这样就得到了 $1 24 
  */ 
 preg_match('/^.*([0-9][0-9])/','about 24 long',$d); 
 //var_dump($d); 
 /* 
  * 用/.*[0-9]+/ 来匹配'copyright 2003.' 
  * 结果: copyright 2003    $1捕获    3 
  * 原因: 释放掉3和点号 之后3能由[0-9]匹配  但是[0-9]是由+修饰的还要尽可能多的匹配 但是遇到了'.'找不到其他可以匹配的字符 
  * 没有必须匹配元素 所以不会被迫交出 0 (先来先服务原则) 所以$1  最终的值是  3 
  */ 
 preg_match('/.*([0-9]+)/','copyright 2003.',$str); 
 var_dump($str);

                   

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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

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

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구