PHP

[PHP] 정규표현식 2

98kg 2024. 1. 11. 19:26
" - "   하이폰

" - " 하이폰 문법 :  '/[시작되는 문자 - 끝나는 문자]/' 

범위를 지정해준다.

 

Not 표현식 

문법 : '/[^ 문자]/'

조건으로 지정한 문자가 아닌 모든 것을 찾은 후 처리

비슷하게 ^문자 표현식이 있는데 이건 Not 정규표현식이 아니라 문자로 시작하는 위치를 찾는다.

서브패턴 ( | )   현재 내 블로그에는 원화로 나오겠지만 실제론 l 이 기호를 사용 (버티컬 바)

 여기서 ( ) 이 괄호가 서브 패턴이다.

(예시)

$string = "Monday Tuesday Friday";

$pattern = '/(Mon|Tues)day/'; // day는 공통이니 서브패턴 옆에 하나만 적어둔다 | 는 서브패턴에 포함된 문자들을 모두 포함 시키겠다는 거다
$pattern = '/..(id)day/'; // id 와 day 가 포함된 문자를 찾는다.
수량자

-  * 앞에 있는 문자가 0개 이상 --> 있거나, 많거나, 없거나(애스터리스크)
- + 앞에 있는 문자가 1개 이상 --> 있거나, 많거나
- ? 앞에 있는 문자가 1개 이하 -->1개만 있거나, 없거나
ex)

.{5} - > {} 안에 있는 개수 만큼 짜르고 조건에 만족하지 않은 문자는 그대로 
 [els]{1,3} -> e,l,s 가 {} 안에 들어있는 1부터 3까지를 찾는다.
[els]{3,~} 은 3 이상이라는 조건이다.
 AB + A 는 B 가 포함되어 있는 경우만

 

Greedy(탐욕적) / Lazy(게으른) 수량자


Greedy( 탐욕적 수량자)--> 최대 반복
 * + {n,} 
Lazy (게으른 수량자) --> 최소반복
 *? +? {n,}?
 ex ) p태그 앞뒤로 자르기 <p>.*?</p>