오늘은 몰랐으면 내일은 알면 된다

2022-11-08 (3) 정규 표현식(Regular Expression) 본문

Java/JAVA 개발자 양성과정

2022-11-08 (3) 정규 표현식(Regular Expression)

마스터피쓰 2022. 11. 8. 11:11
표현 및 기호 설명
[ ] 한개의 문자 [abc] a,b,c 중 하나의 문자
[^abc] a,b,c 이외의 하나의 문자
[a-zA-Z] a~z, A~Z 중 하나의 문자
\d 한 개의 숫자, [0-9]와 동일
\s 공백
\w 한 개의 알파벳, 언더바 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일
\. . (문자로서의 점을 의미함)
. 모든 문자 중 한 개의 문자
? 없음 또는 한 개
* 없음 또는 한 개 이상
+ 한 개 이상
{n} 정확히 n개
{n,} 최소한 n개
{n,m} n개부터 m개까지
a | b  a 또는 b
() 그룹핑

외우려고 들지말고 보고 이해할 수 있으면 충분한 것 같다. 그조차도 어렵다면 가장 많이 사용하는 휴대폰번호, 이메일 정도만 알아도 괜찮을 듯 하다. 그 외에는 검색하자.

 

 

[Pattern 클래스로 검증]

: matches() 메소드로 검증한다. boolean 타입을 반환한다.

boolean result = Pattern.matches("정규식", "검증할 문자열");

정규식을 작성할 때는 이스케이프 문자를 사용해야 한다.

public class RegularExpression {
	public static void main(String[] args) {
		String regExp = "(02|010)-\\d{3,4}-\\d{4}";
		String data = "010-4242-0339";
		if(Pattern.matches(regExp, data)) System.out.println("정규식 일치");
		else System.out.println("일치하지 않음");
		
		String regExp2 = "\\w+@\\w+\\.\\w+(\\.\\w+)?";
		String data2 = "kny0339@google.com";
		if(Pattern.matches(regExp2, data2)) System.out.println("정규식 일치");
		else System.out.println("일치하지 않음");
	}
}

 

여러가지 활용 예는 아래의 링크를 참고하자.

 

https://hitomis.tistory.com/68

 

[javascript] 자주 사용하는 정규 표현식 (Regular Expression) 정리

정규표현식 패턴 /패턴/ 대표적인 패턴 의미 패턴 의미 x 문자 x xyz 문자 xyz [xyz] x,y,z 중 하나의 문자 [a-z] a~z중 하나의 문자 [^xyz] x,y,z 가 아닌 하나의 문자 [^a-z] a~z가 아닌 하나의 문자 abc|xyz 문자

hitomis.tistory.com