PHP 정규식
정규식이란
정규식은 특정 문자를 결합하여 일반 문자열로 사용하여 문자열에 대해 작동하는 논리식입니다. , 이를 정규 매칭 패턴이라고 합니다.
'/apple/' 문자열은 사과 문자열이 소스 문자열에 존재하는지 여부를 일치시키는 데 사용되는 정규식입니다.
PHP에서는 정규 매칭을 위해 PCRE 라이브러리 함수를 사용합니다. 예를 들어, 위 예의 preg_match는 정규 매칭을 수행하는 데 사용되며, 이는 문자 유형을 결정하는 데 자주 사용됩니다. 패턴이 존재합니다.
정규식의 기본 구문
PCRE 라이브러리 함수에서 일반 일치 패턴은 구분 기호와 메타 문자를 사용합니다. 구분 기호는 숫자, 백슬래시 및 공백이 아닌 문자를 제외한 모든 문자일 수 있습니다. 일반적으로 사용되는 구분 기호는 슬래시(/), 해시 기호(#) 및 부정 기호(~)입니다. 예:
패턴에 구분 기호가 포함된 경우 구분 기호는 다음과 같아야 합니다. 백슬래시()를 사용하여 이스케이프 처리합니다.
패턴에 구분 문자가 많이 포함된 경우 다른 문자를 구분 기호로 사용하는 것이 좋습니다. 또는 preg_quote를 사용하여 이스케이프할 수 있습니다.
패턴 수정자는 구분 기호 뒤에 사용할 수 있습니다. 패턴 수정자에는 i, m, s, x 등이 포함됩니다. 예를 들어 i 수정자를 사용하면 대소문자 일치를 무시할 수 있습니다.
메타 문자 및 이스케이프
는 정규 표현식에서 특별한 의미를 갖습니다. 일반적으로 사용되는 메타 문자는
입니다. 일반적으로 대상(또는 여러 줄 모드의 줄)의 시작 위치를 확인하기 위해
^ 문자를 이스케이프하는 데 사용됩니다. ).start)
$ 대상의 끝 위치(또는 여러 줄 모드의 경우 줄 끝)
를 확인합니다. 개행 문자를 제외한 모든 문자와 일치합니다(기본값)
[시작 문자 클래스 정의
] 문자 종료 클래스 정의
| 선택적 분기 시작
(하위 그룹
의 시작 태그) 하위 그룹
의 종료 태그 0 또는 1 일치를 나타냅니다. 수량자의 탐욕적 성격을 변경하기 위해 수량자 뒤에 배치됩니다. (수량자 조회)
* 수량자, 0개 이상의 일치
+ 수량자, 1개 이상의 일치
{사용자 정의 수량자 시작 태그
} 사용자 정의 수량자 종료 태그
메타문자에는 두 가지 사용 시나리오가 있습니다. 하나는 어디에서나 사용할 수 있다는 것이고, 다른 하나는 대괄호 안에만 사용할 수 있다는 것입니다.
이스케이프 문자
^은 첫 번째 문자(대괄호 안)로 사용되는 경우에만 문자 클래스의 부정을 나타냅니다.
- 문자 범위를 표시합니다
^가 뒷괄호 바깥쪽에 있으면 어설션 대상의 시작 위치를 나타내지만 대괄호 안에 있으면 문자 클래스의 부정을 나타냅니다. 대괄호 안의 빼기 기호는 0과 같은 문자 범위를 표시할 수 있습니다. -9. 0에서 9 사이의 모든 숫자.
그리디 모드와 게으른 모드
각각의 정규식은 메타 문자는 문자와 일치합니다. +를 사용하면 탐욕스러워집니다. 가능한 한 많은 문자와 일치하지만 물음표 ? 문자를 사용하면 가능한 한 적은 문자와 일치하므로 게으른 모드입니다.
그리디 모드: 일치할 수 있거나 없을 때 매칭을 우선시합니다.
게으른 모드: 일치할 수 있거나 없을 때 일치하면 먼저 일치합니다.
일치하지 않는 경우 일치하는 문자의 길이를 정확히 알면 {}를 사용하여 일치하는 문자 수를 지정할 수 있습니다.
정규식을 사용하여 일치
정규식을 사용하는 목적 문자열 처리보다 더 나은 결과를 얻는 것입니다. 이 함수는 보다 유연한 처리 방법을 가지므로 문자열 처리 함수와 마찬가지로 부분 문자열이 있는지 확인하고 문자열을 교체하고 문자열을 분할하고 패턴 부분 문자열을 얻는 등의 작업에 주로 사용됩니다.
PHP는 PCRE 라이브러리 함수를 사용하여 패턴을 설정한 후 관련 처리 함수를 호출하여 일치하는 결과를 얻는 방식으로 일반적인 처리를 수행합니다.
preg_match는 일치를 수행하는 데 사용되며, 패턴이 성공적으로 일치하는지 확인하거나 일치하는 결과를 얻는 데 사용할 수 있습니다. 0 또는 1. 1회 일치 후 검색이 중지됩니다.
위 코드는 단순히 일치를 수행하고 단순히 def가 일치할 수 있는지 여부를 결정하지만 정규식의 힘은 패턴 일치이므로 더 많은 경우 패턴이 일치하게 됩니다. 사용됨:
정규식을 사용하여 패턴을 일치시키고 더 유용한 데이터를 얻을 수 있습니다.
查找所有匹配结果
preg_match只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可以循环获取一个列表的匹配结果数组。
可以使用preg_match_all匹配一个表格中的数据:
Eric | 25 |
John | 26 |
$matches结果排序为$matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推。
正则表达式的搜索和替换
正则表达式的搜索与替换在某些方面具有重要用途,比如调整目标字符串的格式,改变目标字符串中匹配字符串的顺序等。
例如我们可以简单的调整字符串的日期格式:
其中${1}与$1的写法是等效的,表示第一个匹配的字串,$2代表第二个匹配的。
通过复杂的模式,我们可以更加精确的替换目标字符串的内容。
用正则替换来去掉多余的空格与字符:
正则匹配常用案例
正则匹配常用在表单验证上,一些字段会有一定的格式要求,比如用户名一般都要求必须是字母、数字或下划线组成,邮箱、电话等也都有自己的规则,因此使用正则表达式可以很好的对这些字段进行验证。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了php正则表达式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











오늘날 급속한 기술 발전의 시대에 프로그래밍 언어는 비가 내린 뒤 버섯처럼 솟아오르고 있습니다. 많은 주목을 받고 있는 언어 중 하나가 바로 Go 언어인데, 단순성, 효율성, 동시성 안전성 등 다양한 기능으로 많은 개발자들에게 사랑을 받고 있습니다. Go 언어는 뛰어난 오픈 소스 프로젝트가 많이 포함된 강력한 생태계로 유명합니다. 이 기사에서는 선택된 Go 언어 오픈 소스 프로젝트 5개를 소개하고 독자가 Go 언어 오픈 소스 프로젝트의 세계를 탐색하도록 안내합니다. KubernetesKubernetes는 자동화를 위한 오픈 소스 컨테이너 오케스트레이션 엔진입니다.

Laravel은 확장성이 뛰어나고 효율적인 인기 있는 PHP 프레임워크로 개발자가 고품질 웹 애플리케이션을 신속하게 구축할 수 있는 많은 강력한 도구와 라이브러리를 제공합니다. 그중 LaravelEcho와 Pusher는 WebSocket 통신을 쉽게 구현할 수 있는 두 가지 매우 중요한 도구입니다. 이 기사에서는 Laravel 애플리케이션에서 이 두 도구를 사용하는 방법을 자세히 설명합니다. WebSocket이란 무엇입니까? 웹소켓

"Go 언어 개발 필수 사항: 5가지 인기 프레임워크 권장 사항" 빠르고 효율적인 프로그래밍 언어인 Go 언어는 점점 더 많은 개발자들이 선호하고 있습니다. 개발 효율성을 높이고 코드 구조를 최적화하기 위해 많은 개발자는 프레임워크를 사용하여 애플리케이션을 빠르게 구축하는 방법을 선택합니다. Go 언어의 세계에는 선택할 수 있는 훌륭한 프레임워크가 많이 있습니다. 이 기사에서는 인기 있는 Go 언어 프레임워크 5개를 소개하고 독자가 이러한 프레임워크를 더 잘 이해하고 사용할 수 있도록 구체적인 코드 예제를 제공합니다. 1.GinGin은 빠른 속도를 갖춘 경량 웹 프레임워크입니다.

PHP에서 echo 키워드의 역할과 사용법에 대한 자세한 설명 PHP는 널리 사용되는 서버측 스크립트 언어로 웹 개발에 널리 사용됩니다. echo 키워드는 PHP에서 내용을 출력하는 데 사용되는 메서드입니다. 이번 글에서는 echo 키워드의 기능과 사용법을 자세히 소개하겠습니다. 기능: echo 키워드의 주요 기능은 콘텐츠를 브라우저에 출력하는 것입니다. 웹 개발에서는 데이터를 프런트엔드 페이지에 동적으로 표시해야 합니다. 이때 echo 키워드를 사용하여 데이터를 페이지에 출력할 수 있습니다. 이자형

현재 가장 인기 있는 Go 프레임워크는 다음과 같습니다. Gin: 가볍고 고성능 웹 프레임워크이며 간단하고 사용하기 쉽습니다. Echo: 고성능 라우팅 및 미들웨어를 제공하는 빠르고 사용자 정의가 가능한 웹 프레임워크입니다. GorillaMux: 고급 라우팅 구성 옵션을 제공하는 빠르고 유연한 멀티플렉서입니다. Fiber: 높은 동시 요청을 처리하는 성능 최적화된 고성능 웹 프레임워크입니다. Martini: 풍부한 기능 세트를 제공하는 객체 지향 디자인을 갖춘 모듈식 웹 프레임워크입니다.

빠르고 효율적인 프로그래밍 언어인 Go 언어는 항상 프로그래머들이 선호해 왔습니다. Go 언어 생태계에서 프레임워크는 개발자가 애플리케이션을 더 빠르게 구축하는 데 중요한 역할을 합니다. 이 글에서는 다섯 가지 Go 언어 프레임워크를 소개하여 해당 프레임워크의 특징과 사용법을 이해할 수 있도록 하겠습니다. 1. Gin 프레임워크 Gin 프레임워크는 빠르고 고성능 특성을 갖춘 경량 웹 프레임워크입니다. Gin 프레임워크를 사용하여 RESTful API 및 웹 애플리케이션을 빠르게 구축하세요. 다음은 간단한 예제 코드입니다:

인터넷의 발달과 정보기술의 발달로 빅데이터 시대가 도래하면서 데이터 분석, 머신러닝 등의 분야도 널리 활용되고 있다. 이러한 분야에서 작업 스케줄링은 피할 수 없는 문제입니다. 효율적인 작업 스케줄링을 달성하는 방법은 효율성을 향상시키는 데 중요합니다. 이 글에서는 Golang의 웹 프레임워크인 Echo 프레임워크를 사용하여 분산 작업 스케줄링을 구현하는 방법을 소개합니다. 1. Echo 프레임워크 소개 Echo는 확장성이 뛰어나고 가벼운 고성능 GoWeb 프레임워크입니다. HTTP를 기반으로 합니다.

1유니코드 컴퓨터 저장의 기본 단위는 8비트로 구성된 바이트(byte)이다. 영어는 26개의 문자와 여러 개의 기호로만 구성되므로 영어 문자를 바이트 단위로 직접 저장할 수 있습니다. 하지만 다른 언어(예: 중국어, 일본어, 한국어 등)는 문자 수가 많기 때문에 인코딩에 여러 바이트를 사용해야 합니다. 컴퓨터 기술이 확산됨에 따라 비라틴어 문자 인코딩 기술이 계속 발전하고 있지만 여전히 두 가지 주요 제한 사항이 있습니다. 다국어 지원이 불가능합니다. 한 언어의 인코딩 방식을 다른 언어에서 사용할 수 없으며 통일된 표준이 없습니다. 예를 들어 중국어에는 GBK, GB2312, GB18030 등과 같은 여러 인코딩 표준이 있습니다. 인코딩 방법이 통일되어 있지 않기 때문에 개발자는 서로 다른 인코딩 간에 전환해야 하며 많은 오류가 필연적으로 발생합니다.
