카테고리 없음

정규표현식

기주그지마 2023. 11. 13. 13:11

 

 

-기본적으로 대소문자 구분

 

 

 

 

 

^ : 문자열의 시작,캐럿

$ : 문열의 끝,달러

\ : 정규표현식내 특정의미가 있는 단어를 일반문자로 변경, 이스케이프, 특정 역할로부터 벗어나게 해준다

. : (점), 모든 문자

[]: 괄호 안에 문자중에하나, 대괄호전체가 문자하나 의미

[]안에있는 - : a부터 b까지

-[]안에있는 ^ : 부정의미 

| : or의미

{} : 중괄호안의 숫자만큼의미
ㄴ{3} : 3개
ㄴ{3,} : 3개이상

(?=  ) : 해당문자를 기준으로 찾지만 그문자를 선택하지는 않음

 


예제)
^who
ㄴ문장의 시작이 who 의미
ㄴwho is who
ㄴ앞의 who를 탐색

who$
ㄴ문장의 끝이 who 의미
ㄴwho is who
ㄴ뒤의 who를 탐색

^\$ : $문자로 시작하는 문자열, 이스케이프

\$$ : $문자로 끝나는 문자열
ㄴ첫번째 $와 두번쨰 $는 다른 의미*

\\: \문자, 앞의\가 뒤의\를 이스케이프시켜줌 

ㄴ첫번째 \와 두번째\는 다른 의미*


[oyu] : o나 y나 u중에 겹치는 문자하나

[a-z] : 소문자 a부터 z까지 1글자

[^W-Z] : W~Z가 아닌 글자하나

(on|yes|no) : on이나 yes나 no

(mon|tues|fri)day : monday나 tuesday나 friday

..(id|esd|nd)ay : 앞2글자 + (id나 esd나 nd) +ay

 

 

 

 

 

 


수량자)
* : 0 ~ 여러개
+ : 1 ~ 여러개
? : 0 or 1개

{n} : n개가 있는
{n,} : 최소 n개
{n,m} : 최소n개 ~ 최대m개

  

수량자 + ? : 수량자의 가장작은 숫자 개수 

ㄴ*? : 0개

ㄴ+? : 1개

ㄴ?? : 0개

예제)



[els]{1,3} : els로 구성된 1글자이상 3글자이하

[a-z]{3,} : a-z범위의 소문자 3글자이상 

r.* : r뒤의 모든글자

 

 

 

 

 

\w : 문자(word: a-Z0-9_) 
\W : 문자x (not word)(공백, 특수문자)

\d : 숫자(digit: 0~9)
\D : 숫자x  (not digit)

\b : 워드 바운더리(단어경계)
\B : 

\A : 문장의 시작 의미
\Z : 문장의 끝 의미

\A와 ^의 차이점)
ㄴ^ : 각각의 문장들의 시작 모두
ㄴ\A : 전체 중에서 첫행의 첫번째 문자만 

ㄴ$ : 각각의 문장들 끝 모두
ㄴ\Z : 전체중에서 마지막행 마지막 문자만

\s : 공백,탭
\S : 공백,탭x



예제)
\w
ㄴ = [A-z0-9_]
ㄴ _는 문자

\W
ㄴ = [^ A-z0-9_]

\d 
ㄴ = [0-9]





자바스크립트 정규표현식 예제)

 

문자열에서 숫자만 추출하기

var thisMonth = "month_btn10"

selectMonth = parseInt(thisMonth.replace( /[^0-9]/g ,""))
console.log(selectMonth) // 10출력