정규식의 \b 이해

一个新手
풀어 주다: 2017-10-20 11:11:24
원래의
7166명이 탐색했습니다.

b는 단어 경계를 설정하는 데 사용됩니다. 단어(문자, 숫자 또는 밑줄로 구성)의 시작 또는 끝과 일치합니다(일치 시작 시 단어 앞에 w가 올 수 없으며, 일치가 끝나면 단어 뒤에 w가 올 수 없습니다). 표현식에서 특정 문자나 문자열 앞에 쓴다면 이 문자나 문자열 앞에 w에 해당하는 문자가 있을 수 없다는 의미이고, 문자 뒤에 쓴다면 이 문자나 문자열 뒤에 w에 해당하는 문자가 있을 수 없다는 의미입니다. 끈. 따라서 문자 앞이나 뒤에 b가 하나만 있을 수도 있고, 두 개가 있을 수도 있습니다(문자 앞이나 뒤에 w에 해당하는 문자가 있을 수 없다는 의미).

올바른 상황을 먼저 살펴보세요

그림 1
참고: 1. b가 영숫자나 밑줄로 구성되지 않은 단어를 설명하는 경우 해당 표현은 잘못 정의된 것이며 일치하는 문자열은 절대 없습니다. 그림 2와 같이:

그림 2

2. 대상 문자열은 앞뒤의 공백(예: 공백, W 등)을 제외하고 개별 단어만 일치하며, 일치된 " 그림 1에서 Russell" 문자는 계산되지 않습니다(테스트 도구에는 파란색 배경 패딩이 표시되지 않음).
목적: 독립적인 단어나 문자열의 일부를 일치시킵니다. 비즈니스 규칙은 "Russell"이라는 단어가 독립적으로 나타나는 모든 위치를 찾는 것입니다. 예를 들어, bRussellb 표현식은 Russell123abc가 일치하지 않음을 의미합니다. Russell 123abc와 Russell@123abc는 모두 일치해야 하기 때문입니다.
3. 특별한 상황. 모순되는 표현 정의.


b는 문자, 숫자 또는 밑줄로 구성된 단어를 제한하는 데에만 사용됩니다.
표현식 b 뒤에 다른 표현식이 있는 경우 표현식 b 뒤의 표현식은 w이거나 w 내용에 있어서는 안 됩니다. 예를 들어, bhibnihao라는 표현은 hi라는 단어가 앞뒤에 w의 내용을 가질 수 없고 대상 문자열에 hi가 있어야 하며 "nihao" 문자가 hi 뒤에 오는 것을 의미합니다. 즉, 이 표현의 정의는 자기모순적입니다.
왜냐하면: b의 정의에 따르면 b는 다음 조건에서만 대상 문자열이 일치할 수 있음을 보장합니다. b 앞뒤의 문자는 w를 가질 수 없으므로 w가 아닌(또는 W) 문자는 b 앞뒤에 일치합니다. 여기서는 w가 아닌 ​​문자와 일치해야 하므로 일반 규칙의 하위 텍스트가 이미 다음과 같이 말했습니다. b와 일치하는 문자는 w가 아닌 ​​문자로 둘러싸여야 하므로 다른 w가 아닌 ​​표현식은 뒤에 추가되어야 합니다. b 식을 사용하면 대상 문자열이 일치할 수 있습니다.
따라서 다음과 같은 정규 표현식은 절대 일치하지 않습니다: bhibnihao 대상 문자열 hinihao hi nihao hi*nihao hi @#$nihao . . .
bhib에서는 hi 앞뒤에 영숫자나 밑줄 문자를 사용할 수 없으며 hi 뒤에는 nihao 문자열이 와야 합니다. 따라서 hi! 앞뒤에 공백이 있을 수 있습니다. @#\% 및 nihao와 같은 특수 문자는 표현식에서 hi 바로 뒤에 정의되므로 이 정규 표현식과 일치하는 대상 문자열이 절대 없습니다.

방법: 규칙성을 정의할 때 이 non-w를 정규 표현식으로 가져오고(표현식에 작성) 규칙성을 bhibW+nihao로 수정하면 hinihao
hi nihao
hi@가 됩니다. nihao
안녕하세요! @#$ ​​nihao

마지막 3경기

위 내용은 정규식의 \b 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!