백엔드 개발 PHP 문제 PHP에서 정규식을 작성하는 방법

PHP에서 정규식을 작성하는 방법

Sep 12, 2019 pm 05:45 PM
php 정규식

PHP에서 정규식을 작성하는 방법

정규 표현식은 업무에서 매우 흔하게 사용되는 강력한 기술이지만 배우기가 다소 지루합니다. 오늘은 PHP로 정규식을 작성하는 방법을 알려드리겠습니다.

Delimiter

PCRE 함수를 사용할 때는 패턴을 구분 기호로 묶어야 합니다. 구분 기호는 영숫자, 백슬래시 또는 공백이 아닌 문자일 수 있습니다.

일반적으로 사용되는 구분 기호는 슬래시(/), 해시 기호(#) 및 부정 기호(~)입니다. 다음 예시는 모두 법적 구분 기호를 사용한 패턴입니다.

/foo bar/<br>#^[^0-9]$#<br>+php+<br>%[a-zA-Z0-9_-]%/foo bar/<br>#^[^0-9]$#<br>+php+<br>%[a-zA-Z0-9_-]%

如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性。

/http:///<br>#http://#  

需要将一个字符串放入模式中使用时,可以用 preg_quote() 函数对其进行 转义,它的第二个参数(可选)可以用于指定需要被转义的分隔符。

除了上面提到的分隔符,也可以使用括号样式的分隔符,左括号和右括号分别作为开始和结束 分隔符。

{this is a pattern}

可以在结束分隔符后面增加模式修饰符。 下面的例子是一个大小写不敏感的匹配:

#[a-z]#i

<span style="font-size: 20px;">转义序列</span>

反斜线有多种用法。首先,如果紧接着是一个非字母数字字符,表明取消 该字符所代表的特殊涵义。这种将反斜线作为转义字符的用法在字符类 内部和外部都可用。

比如,如果你希望匹配一个 "*" 字符,就需要在模式中写为 "*"。 这适用于一个字符在不进行转义会有特殊含义的情况下。 但是, 对于非数字字母的字符,总是在需要其进行原文匹配的时候在它前面增加一个反斜线, 来声明它代表自己,这是安全的。如果要匹配一个反斜线,那么在模式中使用 ”\”。

例如,我要写小数点"." ,但是点是  元字符 (有特殊涵义的编码字符),如果要表示小数点,不让它代表特殊含义,就需要转义: "." 或 [.]

$lng = 125.97097735211630;<br>

$pattern = "#^(0|[1-9][0-9]*)[.][0-9]{14}$#"; 

//满足14位小数位的数字

preg_match($pattern, $lng)

表达式中的反斜杠

表达式中的反斜杠有多重意义,如转义、指定预定义的字符集、定义断言、显示不打印的字符。

转义字符

转义字符主要是将一些特殊字符转为普通字符。而这些常用特殊字符有”.”,”?”、””等。

指定预定义的字符集

PHP에서 정규식을 작성하는 방법

패턴 내에서 구분 기호를 일치시켜야 하는 경우 백슬래시로 이스케이프해야 합니다. 패턴 내에서 구분 기호가 자주 발생하는 경우 더 나은 옵션은 다른 구분 기호를 사용하여 가독성을 높이는 것입니다.

PHP에서 정규식을 작성하는 방법/http:///<br>#http://#

문자열을 패턴에 넣어 사용해야 할 경우 preg_quote() 함수를 사용하여 이스케이프할 수 있습니다. it 의 경우 두 번째 매개변수(선택 사항)를 사용하여 이스케이프해야 하는 구분 기호를 지정할 수 있습니다.

위에 언급된 구분 기호 외에도 괄호 스타일 구분 기호를 사용할 수도 있습니다. 왼쪽 괄호와 오른쪽 괄호는 각각 시작 및 끝 구분 기호 역할을 합니다. {패턴입니다}

🎜끝 구분 기호 뒤에 패턴 수정자를 추가할 수 있습니다. 다음 예는 대소문자를 구분하지 않는 일치입니다. 🎜🎜#[a-z]#i
🎜🎜🎜🎜escape 시퀀스🎜🎜🎜🎜역슬래시는 다음과 같습니다. 여러 가지 방법으로 사용됩니다. 첫째, 영숫자가 아닌 문자가 뒤에 오면 해당 문자가 나타내는 특별한 의미를 취소합니다. 백슬래시를 이스케이프 문자로 사용하는 것은 문자 클래스 내부와 외부 모두에서 가능합니다. 🎜🎜예를 들어 "*" 문자를 일치시키려면 패턴에 "*"를 써야 합니다. 이는 문자가 탈출하지 않고도 특별한 의미를 가질 때 적용됩니다. 그러나 영숫자가 아닌 문자의 경우 원래 텍스트 일치에 필요할 때 문자 자체를 나타냄을 선언하기 위해 문자 앞에 백슬래시를 추가하는 것이 항상 안전합니다. 백슬래시를 일치시키려면 패턴에 "\"를 사용하세요. 🎜🎜예를 들어 소수점 "."을 쓰고 싶은데 그 점이 메타문자(특수한 의미를 가지고 인코딩된 문자)인 경우 소수점을 표현하고 특별한 의미를 나타내지 않게 하려면 다음과 같이 해야 합니다. 이스케이프: "." 또는 [.] 🎜🎜$lng = 125.97097735211630;<br>🎜🎜$pattern = "#^(0|[1-9][0-9 ]*)[.][0- 9]{14}$#"; 🎜🎜//소수점 14자리를 만족하는 숫자🎜🎜preg_match($pattern, $lng) 🎜🎜🎜🎜슬래시 표현의 반대 🎜🎜
🎜🎜표현식의 백슬래시는 이스케이프, 사전 정의된 문자 집합 지정, 주장을 정의하고 잘못된 인쇄된 문자를 표시합니다. 🎜🎜🎜🎜🎜이스케이프 문자🎜🎜
🎜🎜이스케이프 문자는 주로 일부 특수 문자를 일반 문자로 변환합니다. 일반적으로 사용되는 특수 문자로는 ".", "?", "" 등이 있습니다. 🎜🎜🎜🎜사전 정의된 문자 집합 지정🎜🎜🎜🎜정규식-1.jpg🎜🎜 ###인쇄할 수 없는 문자 표시🎜🎜🎜🎜🎜위 내용은 참고용입니다! 🎜🎜추천 비디오 튜토리얼: 🎜PHP 비디오 튜토리얼🎜🎜

위 내용은 PHP에서 정규식을 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

See all articles