일반적인 문제 정규식을 배우는 초보자의 일반적인 실수

정규식을 배우는 초보자의 일반적인 실수

Nov 09, 2019 pm 05:42 PM
일반적인 실수 정기적인

정규 규칙의 장점은 몇 시간만 공부하면 대부분의 규칙을 이해할 수 있지만 연습 과정에서 여전히 많은 문제에 직면하게 됩니다. 결과를 원한다면 정규 문법은 여전히 ​​조금 이상합니다. 이 기사에서는 정규 학습 과정에서 자주 저지르는 몇 가지 실수를 정리했습니다.

정규식을 배우는 초보자의 일반적인 실수

정규식

#. 🎜🎜#우리가 일반적으로 코드를 작성할 때 공백은 코드를 보다 표준화하기 위한 도구로 사용되는 경우가 많습니다. 줄 시작 부분에 적절한 들여쓰기와 탭을 함께 사용하면 코드가 더 명확해 보입니다. 하지만 정규 표현식에서는 주의해야 합니다. 공백 자체도 일치 대상 문자입니다. 공백을 부적절하게 사용하는 경우:

echo preg_match('/a{1, 3}/', "aaa") ? '匹配' : '不匹配';  // 不匹配
로그인 후 복사

예를 들어 위의 정규 표현식은 1과 일치하도록 의도되었습니다. 그러나 실제로 다음 세 개의 a는 일치하지 않습니다. 왜냐하면 {1, 3} 중간에 추가 공백이 있어 메타 문자 "{}"의 원래 의미가 무효화되고 일반 문자가 되기 때문입니다. 문자:

echo preg_match('/a{1, 3}/', "a{1, 3}") ? '匹配' : '不匹配';  // 匹配
로그인 후 복사
#🎜 🎜#문자열 "a{1, 3}"이 대신 일치하는데 이는 분명히 우리가 원하는 것이 아니므로 공백 문자 자체가 일치하지 않는 한 공백을 사용하지 않도록 주의해야 합니다.

echo preg_match('/a{1,3}/', "aaa") ? '匹配' : '不匹配';  // 匹配
로그인 후 복사
# 🎜🎜#※ 예외적으로 패턴 수정자 x는 일반 문자열의 공백 문자를 무시할 수 있습니다. 그러나 위의 예에서와 같이 메타 문자의 공백은 여전히 ​​오류를 발생시킵니다. 일반적으로 이렇게 하면 정규식을 이해하기가 더 어려워지므로 사용하지 않는 것이 좋습니다.

echo preg_match('/a a a/x', "aaa") ? '匹配' : '不匹配';  // 匹配
로그인 후 복사

2. 사례

#🎜🎜 #이것은 이해하기 쉽습니다. 기본적으로는 부주의한 실수입니다. 결국 우리가 일반적으로 사용하는 검색 도구는 대문자와 소문자를 자동으로 일치시키지 않는다는 사실을 때때로 잊어버립니다.

echo preg_match('/flag/', "Flag") ? '匹配' : '不匹配';  // 不匹配
로그인 후 복사
Like 이렇게 하면 일치하는 문자열의 첫 글자가 대문자로 표시될 수 있어 당연히 일치하지 않게 됩니다. 이때 대문자와 소문자를 모두 고려해야 합니다. 하지만 때로는 특정 단어를 일치시키고 싶을 때도 있습니다. 이 네 글자가 함께 일치하는 한 다음과 같이 쓰는 것이 더 번거롭습니다.
echo preg_match('/[Ff][Ll][Aa][Gg]/', "Flag") ? '匹配' : '不匹配';  // 匹配
로그인 후 복사

"와 같은 것이 있다고 상상하기는 어렵습니다. fLaG" 쓰는 방법이 좀 이상한데 이렇게 쓰지 않으면 모든 상황을 일치시킬 수는 없지만 경우에 따라서는 신경쓰지 않는 경우가 있는데 일치하는 문자열이 엄청 길어요. 이렇게 쓰면 지칠까봐 걱정되는데 다행히 “i "수식자:

echo preg_match('/flag/i', "Flag") ? '匹配' : '不匹配';  // 匹配
로그인 후 복사

수식자 "i"를 설정하면 패턴에 대소문자가 일치하게 됩니다. 무감각하다.

3. 욕심 모드

수량자 "+"와 "*"는 기본적으로 욕심 모드입니다. 전에는 이것이 무엇을 의미하는지 이해하지 못할 수도 있습니다. 다음은 kano의 예입니다.

preg_match_all(&#39;/<span>.*<\/span>/&#39;, "<span>aaa</span><span>bbb</span>", $matches);
var_dump($matches);
로그인 후 복사

#🎜🎜 #원본 정규식의 의도는 문자열에서 모든 범위 태그를 찾아서 배열에 넣는 것입니다. 그러나 결과는 매우 이상합니다. 두 범위가 동시에 일치했습니다! 사실, "aaabbb"라는 문자열은 실제로 로 시작하고 , 그러나 그 안의 .*는 너무 많은 내용과 일치합니다. "aaabbb"는 모두 일치합니다. 이것은 "+" 및 "*"의 욕심 모드입니다. 기본적으로 가능한 한 많은 문자와 일치하며 끝에 "?"를 추가하면 이 욕심 모드를 취소하여 가능한 한 적은 내용만 일치할 수 있습니다. #🎜🎜 #

preg_match_all(&#39;/<span>.*?<\/span>/&#39;, "<span>aaa</span><span>bbb</span>", $matches);
var_dump($matches);
로그인 후 복사

정규식을 배우는 초보자의 일반적인 실수이번에는 원하는 결과를 얻었습니다.

일반 구문은 매우 특별하며, 주의하지 않으면 문제가 발생하기 쉽습니다.

추천 학습: "

정규식을 배우는 초보자의 일반적인 실수정규 표현식에 대한 빠른 소개

"

위 내용은 정규식을 배우는 초보자의 일반적인 실수의 상세 내용입니다. 자세한 내용은 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를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP 정규 표현식으로 무언가로 시작하는 문자열을 바꾸는 방법 PHP 정규 표현식으로 무언가로 시작하는 문자열을 바꾸는 방법 Mar 24, 2023 pm 02:57 PM

PHP 정규 표현식은 텍스트 처리 및 변환을 위한 강력한 도구입니다. 텍스트 내용을 구문 분석하고 특정 패턴에 따라 대체하거나 가로채서 텍스트 정보를 효과적으로 관리할 수 있습니다. 그 중 정규식의 일반적인 적용은 특정 문자로 시작하는 문자열을 바꾸는 것입니다.

Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까? Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까? May 31, 2024 am 10:32 AM

Golang 정규 표현식은 파이프 문자 |를 사용하여 여러 단어 또는 문자열을 일치시키고 각 옵션을 논리적 OR 표현식으로 구분합니다. 예: "fox" 또는 "dog"와 일치: fox|dog은 "quick", "brown" 또는 "lazy"와 일치: (quick|brown|lazy)는 "Go", "Python" 또는 "Java"와 일치: Go| Python |Java는 단어 또는 4자리 우편번호와 일치합니다: ([a-zA

PHP에서 정규식을 사용하여 한자를 제거하는 방법 PHP에서 정규식을 사용하여 한자를 제거하는 방법 Mar 03, 2023 am 10:12 AM

일반 규칙을 사용하여 PHP에서 중국어를 제거하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. 중국어와 영어가 포함된 문자열을 정의합니다. 3. "preg_replace('/([\x80-\xff]*)/i'를 사용합니다. '',$a);" 일반 방법은 쿼리 결과에서 한자를 제거할 수 있습니다.

일반 매칭을 사용하여 PHP에서 HTML 태그를 제거하는 방법 일반 매칭을 사용하여 PHP에서 HTML 태그를 제거하는 방법 Mar 21, 2023 pm 05:17 PM

이 기사에서는 PHP 정규식을 사용하여 HTML 태그를 제거하고 HTML 문자열에서 일반 텍스트 콘텐츠를 추출하는 방법을 알아봅니다. HTML 태그를 제거하는 방법을 보여주기 위해 먼저 HTML 태그가 포함된 문자열을 정의해 보겠습니다.

PHP 정규식을 사용하여 URL이 HTTPS 프로토콜인지 확인하는 방법 PHP 정규식을 사용하여 URL이 HTTPS 프로토콜인지 확인하는 방법 Jun 24, 2023 am 08:16 AM

웹사이트 보안은 점점 더 많은 관심을 받고 있으며, 데이터 전송 보안을 보장하기 위해 HTTPS 프로토콜을 사용하는 것은 현재 웹사이트 개발에서 중요한 부분이 되었습니다. PHP 개발에서 정규식을 사용하여 URL이 HTTPS 프로토콜인지 확인하는 방법은 무엇입니까? 여기 우리가 알아보러 왔습니다. 정규식 정규식은 규칙을 설명하는 데 사용되는 표현식으로, 텍스트 처리를 위한 강력한 도구이며 텍스트 일치, 검색 및 교체에 널리 사용됩니다. PHP 개발에서는 정규식을 사용하여 URL의 http를 일치시킬 수 있습니다.

PHP 쿼리문 주의사항 및 일반적인 오류 PHP 쿼리문 주의사항 및 일반적인 오류 Mar 22, 2024 am 11:42 AM

PHP는 웹 개발에 널리 사용되는 프로그래밍 언어로, 다양한 데이터베이스와 상호 작용하여 데이터 쿼리 및 작업을 구현할 수 있습니다. 쿼리 작업에 PHP를 사용할 때 일반적인 오류를 방지하기 위해 몇 가지 사항에 특별한 주의가 필요합니다. 다음에서는 PHP 쿼리 문의 주의 사항과 일반적인 오류를 자세히 소개하고 독자의 이해를 돕기 위해 구체적인 코드 예제를 제공합니다. 1. 데이터베이스에 연결 PHP 쿼리를 수행하기 전에 먼저 데이터베이스에 연결해야 합니다. PHP에 내장된 mysqli(MySQLI

PHP 정규식을 사용하여 중국어 대체 함수 구현에 대한 팁 공유 PHP 정규식을 사용하여 중국어 대체 함수 구현에 대한 팁 공유 Mar 24, 2024 pm 05:57 PM

PHP 정규 표현식을 사용하여 중국어 대체 기능 구현에 대한 팁 웹 개발에서 중국어 콘텐츠를 대체해야 하는 상황에 자주 직면합니다. 널리 사용되는 서버측 스크립팅 언어인 PHP는 중국어 대체를 쉽게 실현할 수 있는 강력한 정규식 기능을 제공합니다. 이 기사에서는 정규식을 사용하여 PHP에서 중국어 대체를 구현하는 몇 가지 기술을 공유하고 구체적인 코드 예제를 제공합니다. 1. preg_replace 함수를 사용하여 중국어 대체를 구현합니다. PHP의 preg_replace 함수를 사용할 수 있습니다.

일반적인 WordPress 실수에 대한 전체 분석: 웹사이트를 저장하는 팁 일반적인 WordPress 실수에 대한 전체 분석: 웹사이트를 저장하는 팁 Mar 05, 2024 pm 06:12 PM

"일반적인 워드프레스 실수에 대한 전체 분석: 웹사이트를 저장하는 팁" 인기 있는 웹사이트 구축 플랫폼인 워드프레스(WordPress)는 사용 중에 불가피하게 몇 가지 문제와 오류에 직면하게 됩니다. 이 문서에서는 일반적인 WordPress 오류에 대한 자세한 분석을 제공하고 웹 사이트 관리자가 문제를 쉽게 해결하고 웹 사이트 운영 효율성과 사용자 경험을 향상시키는 데 도움이 되는 특정 코드 예제를 제공합니다. 1. 흰색 화면 오류 워드프레스 웹사이트 접속 시 흰색 화면이 나타나는 경우는 대개 PHP 코드 오류로 인해 발생합니다.