이 기사에서는 특정 참조 값이 있는 PHP에 대한 정규 표현식을 소개합니다. 이제 모든 사람과 공유합니다. 필요한 친구가 참조할 수 있습니다.
정규 표현식은 문자열 결과에 대한 설명입니다. 구문 규칙은 특정합니다. 일치하는 문자열을 일치시키고, 바꾸고, 가로챌 수 있는 형식 지정 패턴입니다. 일반적으로 사용되는 언어에는 기본적으로 JavaScript, Java 등 정규 표현식이 있습니다. 사실, 한 언어의 일반적인 사용법을 이해하는 한, 다른 언어의 일반적인 규칙을 사용하는 것은 비교적 간단합니다. 좋아요, 규칙적인 규칙을 작성해 보겠습니다.
관련 권장사항:
1. 정규식 구문 튜토리얼(온라인 테스트 도구 포함)
2. PHP 정규식 빠른 소개 비디오 튜토리얼
정규식이 문자열과 일치하는 경우 다음 2가지 기본 원칙을 따르세요. 1. 가장 왼쪽 원칙: 정규 표현식은 항상 대상 문자열의 가장 왼쪽부터 시작하여 표현식 요구 사항을 충족하는 부분이 일치하거나 대상 문자열의 끝이 일치할 때까지 순서대로 일치합니다.
2. 가장 긴 원칙: 일치하는 대상 문자열의 경우 정규식은 항상 정규식의 요구 사항, 즉 그리디 모드를 충족하는 가장 긴 부분과 일치합니다.
그래서 시작하는 방법은 먼저 구분 기호부터 시작하세요. 작성할 때 일반적으로 일련의 정규식의 시작을 나타내는 데 사용되는 / ; #; 예: '/a.*a/'. 표현에 이스케이프 문자가 너무 많으면 url;
$str = 'http://baidu.com'; $pattern = '/http:\/\/.*com/';//需要转义/ preg_match($pattern,$str,$match); var_dump( $match);
$str = 'http://baidu.com'; $pattern = '#http://.*com#';//不需要转义/ preg_match($pattern,$str,$match); var_dump( $match);
처럼 #을 먼저 사용하는 것이 좋습니다. 이제 시작과 끝을 어떻게 쓰는지 알았으니 다음 단계는 중간을 판단하는 것입니다. 정규식은 원자와 메타 문자를 사용하여 왼쪽에서 오른쪽으로 이어집니다.
예를 들어 'zxcv', 일치하는 경우 '/.*/', 여기서 .*는 zxcv를 나타냅니다.
그럼 공통 원자와 메타문자는 무엇인가요?• d은 숫자와 일치합니다. [0-9]와 동일합니다. •un16진수로 표현되는 유니코드 문자. 예를 들어 u00A9는 저작권 기호(?)와 일치합니다. • . "n"을 제외한 모든 단일 문자와 일치합니다. • ^ 입력 문자열의 시작 부분과 일치합니다. 문자 필드 []에서는 '[^w]'가 'w'와 같고 ^w는 단어 문자로 시작하는 것과 같은 부정을 의미합니다. •$ 입력 문자열의 끝 위치와 일치합니다. 예를 들어 'w$'는 단어 문자로 끝나는 것을 의미합니다. •? {0,1}에 해당하는 이전 하위 표현식 0 또는 1회 와 일치합니다. 예를 들어 "do(es)?"는 "do" 또는 "does"와 일치할 수 있습니다. •* 이전 하위 표현식과 0회 이상 일치하며 {0,}와 동일합니다. 예를 들어 zo*는 "z", "zo", 'zoo'와 일치합니다. • + 이전 하위 표현식과 한 번 이상 일치합니다. 예를 들어 'zo+'는 "zo" 및 "zoo"와 일치할 수 있습니다. •{n} n은 음이 아닌 정수이며 n번 일치합니다. 예를 들어 'o{2}'는 "Bob" 또는 'Booob'과 일치하지 않지만 "food"에 있는 두 개의 o와 일치합니다. •{n,} n은 음수가 아닌 정수입니다. n번 이상 일치합니다. 예를 들어, 'o{2,}'는 "Bob"의 'o'와 일치하지 않지만 "foooood"의 모든 o와 일치합니다. 'o{1,}'는 'o+'와 동일합니다. 'o{0,}'는 'o*'와 동일합니다. • {n,m} m과 n은 모두 음수가 아닌 정수입니다. 여기서 n •[] 문자 세트(문자 필드). 포함된 문자 중 하나와 일치합니다. 예를 들어 '[abc]'는 "plain"의 'a'와 일치합니다. •() () 안의 내용과 일치하여 이 일치 항목을 얻습니다. n(n은 1보다 큰 정수)에서 '(w+) (:)//.*1' 표현식이 있는 경우 'http://baidu.com'은 'http://baidu.comhttp',1과 일치합니다. http를 나타냅니다. •(?:)은 일치하지만 일치하는 결과를 얻지 못하며 나중에 사용하기 위해 저장하지 않습니다. 이는 "or" 문자(|)를 사용하여 패턴의 일부를 결합할 때 유용합니다. 예를 들어 'industr(?:y|ies)는 'industry|industries'보다 짧은 표현입니다. 위의 수식을 '(?:w+)(:)//.*1'로 바꾸면 1은 다음과 같이 표현됩니다. • | x|y,匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。 • [-] 字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。 • (?=pattern)正 向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹 配不需要获取供以后使用。例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹 配的搜索,而不是从包含预查的字符之后开始。 有时候最后定界符会有一个字母,如‘/as.*/i’,那这个i又是什么呢,这就是模式修正符; i表示在和模式进行匹配进不区分大小写 U正则表达式的特点:就是比较“贪婪”,使用该模式修正符可以取消贪婪模式 例: php常用正则函数; 匹配:preg_match()与preg_match_all() 1 preg_match($pattern,$subject,[array &$matches]) 1只会匹配一次,2会把所有符合的字符串都匹配出来,并且放置到matches数组中,而且这两个函数都有一个整形的返回 值。1是一维数组,2是二维数组 替换:preg_replace() mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 相关推荐:
• D은 숫자가 아닌 문자와 일치합니다. [^0-9]와 동일합니다.
• f은 폼 피드와 일치합니다. x0c 및 cL과 동일합니다.
• n은 개행 문자와 일치합니다. x0a 및 cJ와 동일합니다.
• r은 캐리지 리턴 문자와 일치합니다. x0d 및 cM과 동일합니다.
• s 공백, 탭, 폼 피드 등을 포함한 모든 공백 문자와 일치합니다. [fnrtv]와 동일합니다.
• S은 공백이 아닌 모든 문자와 일치합니다. [^ fnrtv]와 동일합니다.
• t은 탭 문자와 일치합니다. x09 및 cI와 동일합니다.
• v은 세로 탭 문자와 일치합니다. x0b 및 cK와 동일합니다.
• w 밑줄을 포함한 모든 단어 문자와 일치합니다. '[A-Za-z0-9_]'와 동일합니다.
• W은 단어가 아닌 모든 문자와 일치합니다. '[^A-Za-z0-9_]'와 동일합니다.
• xn은 n과 일치합니다. 여기서 n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 정확히 두 자리 길이여야 합니다. 예를 들어 'x41'은 "A"와 일치합니다. 'x041'은 'x04' 및 '1'과 동일합니다. ASCII 인코딩은 정규식에서 사용할 수 있습니다.
• nm8진수 이스케이프 값 또는 역참조를 식별합니다. nm 앞에 최소 nm개의 획득 가능한 하위 표현식이 있는 경우 nm은 역방향 참조입니다. nm 앞에 최소한 n의 획득이 있으면 n은 역방향 참조이고 그 뒤에는 리터럴 m이 옵니다. 이전 조건 중 어느 것도 충족되지 않고 n과 m이 모두 8진수(0-7)인 경우 • nm은 8진수 이스케이프 값 nm과 일치합니다.
• nmln이 8진수(0-3)이고 m과 l이 모두 8진수(0-7)인 경우 8진수 이스케이프 값 nml과 일치합니다.
• (?!pattern)负 向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不 需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜 索,而不是从包含预查的字符之后开始
m将模式视为多行,使用^和$表示任何一行都可以以正则表达式开始或结束
s如果没有使用这个模式修正符号,元字符中的"."默认不能表示换行符号,将字符串视为单行
x表示模式中的空白忽略不计
e正则表达式必须使用在preg_replace替换字符串的函数中时才可以使用(讲这个函数时再说)
A以模式字符串开头,相当于元字符^
Z以模式字符串结尾,相当于元字符$$str = 'asddadsdasd';
$pattern = '/a.*d/';
preg_match($pattern,$str,$match);
var_dump($match) ;//asddadsdasd;
$str = 'asddadsdasd';
$pattern = '/a.*d/U';//$pattern = '/a.*?d/';
preg_match($pattern,$str,$match);
var_dump($match) ;//asd
2 preg_match_all($pattern,$subject,array &$matches)
搜索subject中匹配pattern的部分, 以replacement进行替换。
위 내용은 PHP 정규 표현식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP는 전자 상거래, 컨텐츠 관리 시스템 및 API 개발에 널리 사용됩니다. 1) 전자 상거래 : 쇼핑 카트 기능 및 지불 처리에 사용됩니다. 2) 컨텐츠 관리 시스템 : 동적 컨텐츠 생성 및 사용자 관리에 사용됩니다. 3) API 개발 : 편안한 API 개발 및 API 보안에 사용됩니다. 성능 최적화 및 모범 사례를 통해 PHP 애플리케이션의 효율성과 유지 보수 성이 향상됩니다.

PHP를 사용하면 대화식 웹 컨텐츠를 쉽게 만들 수 있습니다. 1) HTML을 포함하여 컨텐츠를 동적으로 생성하고 사용자 입력 또는 데이터베이스 데이터를 기반으로 실시간으로 표시합니다. 2) 프로세스 양식 제출 및 동적 출력을 생성하여 htmlspecialchars를 사용하여 XSS를 방지합니다. 3) MySQL을 사용하여 사용자 등록 시스템을 작성하고 Password_Hash 및 전처리 명세서를 사용하여 보안을 향상시킵니다. 이러한 기술을 마스터하면 웹 개발의 효율성이 향상됩니다.

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP는 여전히 역동적이며 현대 프로그래밍 분야에서 여전히 중요한 위치를 차지하고 있습니다. 1) PHP의 단순성과 강력한 커뮤니티 지원으로 인해 웹 개발에 널리 사용됩니다. 2) 유연성과 안정성은 웹 양식, 데이터베이스 작업 및 파일 처리를 처리하는 데 탁월합니다. 3) PHP는 지속적으로 발전하고 최적화하며 초보자 및 숙련 된 개발자에게 적합합니다.

PHP는 현대 웹 개발, 특히 컨텐츠 관리 및 전자 상거래 플랫폼에서 중요합니다. 1) PHP는 Laravel 및 Symfony와 같은 풍부한 생태계와 강력한 프레임 워크 지원을 가지고 있습니다. 2) Opcache 및 Nginx를 통해 성능 최적화를 달성 할 수 있습니다. 3) PHP8.0은 성능을 향상시키기 위해 JIT 컴파일러를 소개합니다. 4) 클라우드 네이티브 애플리케이션은 Docker 및 Kubernetes를 통해 배포되어 유연성과 확장 성을 향상시킵니다.

PHP는 특히 빠른 개발 및 동적 컨텐츠를 처리하는 데 웹 개발에 적합하지만 데이터 과학 및 엔터프라이즈 수준의 애플리케이션에는 적합하지 않습니다. Python과 비교할 때 PHP는 웹 개발에 더 많은 장점이 있지만 데이터 과학 분야에서는 Python만큼 좋지 않습니다. Java와 비교할 때 PHP는 엔터프라이즈 레벨 애플리케이션에서 더 나빠지지만 웹 개발에서는 더 유연합니다. JavaScript와 비교할 때 PHP는 백엔드 개발에서 더 간결하지만 프론트 엔드 개발에서는 JavaScript만큼 좋지 않습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 다양한 시나리오에 적합합니다. 1.PHP는 웹 개발에 적합하며 내장 웹 서버 및 풍부한 기능 라이브러리를 제공합니다. 2. Python은 간결한 구문과 강력한 표준 라이브러리가있는 데이터 과학 및 기계 학습에 적합합니다. 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
