본문 바로가기
[개발] Programming/Javascript

자바, 자바스크립트 정규표현식

by eatyourKimchi 2018. 10. 26.

정의


 문자열 안에서의 일정한 패턴을 표현하기 위한 표현식을 말한다. 



​​ 


정규표현식 만들기


Javascript


var p = /pattern string/;

var result = p.test(“data”);



Java


// 정규 표현을 패턴에 컴파일

Pattern p = Pattern.compile(“pattern string”);


// 입력과 이 패턴을 매치하는 정규 표현 작성

Matcher m = p.matcher(“data”);


// 입력과 그 정규 표현 매치

boolean result = m.matches();


또는


// 예외, PatternSyntaxException 표현의 구문이 무효인 경우

boolean result = Pattern.matches(“pattern string”, “data”);





정규표현식 구문


문자

설명

예제

TRUE

FALSE

.

하나의 문자

a.b

a$b/ a1b

ab

?

문자가 없거나 또는 하나의 문자

a?b

a2b/ ab

ac

+

앞 문자의 반복

ab+

ab/ abbbbb

abaaa

*

문자가 없거나 앞 문자의 반복

ab*

ab/ abbbbb

abac

^

문자열의 시작

^[a]

a

2/ b

[^]

관호안에 문자를 제외한

[^a]

b/ #/ 1

a

|

or 연산자

[a|b]*

abaabba

ac/ abbac

&

and 연산자

[a&b]*

aba

abc

$

문자열의 끝을 의미

ab$

ab

 

[]

괄호안의 형식이 일치하는 경우

[ab]/ [a-d[m-p]]

a/ b/ m

f/ am

()

내용을 묶고 싶은 경우

(ab)*

ababab

aabb

{}

앞 문자의 길이 지정, {1}은 생략 가능

[a-b]{2}

ab/ aa/ bb

abb

\s

space

\\s.

' 'a

aa

\S

space가 아닌

\\S.

aa

a' '

\d

decimal

\\d.

2b

bb

\D

decimal이 아닌

\\D.

bb

2b

\w

특수 기회 제외

\\w.

aa/ 2a

@a/ ^^

\W

특수 기호만

\\W.

^a/ $$

aa/ 2a





구문의 결합 예시


조합

설명

예제

TRUE

FALSE

+$

+와 같은 효과

a+$

aaaaaaaaa

aaaaabb

.*

모든 문자열

.*b

@#Sasdb

bsadasd

.*+

모든 문자열

.*+b

@#Sasdb

bsadasd

.\\d

십진수가 아닌 하나의 문자

.\\d

@/ a

1/ asd

.+\\s

하나의 문자 반복 or non, 끝에 space

a.+\\s

'asda!$ '

vasd/ 'asdv'

\\.

패턴 '.'을 사용하고 싶은 경우

c\\.

c.

c/ ca

\\w\\.

워드의 끝을 반드시 ‘.’으로 마무리

\\w\\.

Asd12.

A#d12

[조건1조건2]

하나 이상의 조건을 적용할 경우

[0-2a-z]

1/ a/ z

#/ 3/ A

[조건]*

조건에 해당되는 문자의 반복

[0-3]*

02310

4125




더 많은 예제 보기!




댓글