13일차(정규표현식)

2023. 12. 27. 16:00자바 기초 및 세팅

메타문자

  • 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 언어
  • \d : 숫자
  • \s : 공백 & 탭
  • \w : 영문 + 숫자
  • [문자들] : 해당 문자들만 허용
    • [a-zA-Z0-9] : \w와 같음
    • [가-힣] : 모든 한글
  • + : 1이상 무한대 이하
    • [a-z]+ : 소문자가 1개이상 무한대
  • ? : 0 또는 1개
  • * : 0개 이상
  • ^
    • 문장 처음에 위치 : 문장의 시작
    • 중간에 위치 : Not
  • $ : 문장의 가장 끝
  • {min, max} : 반복 횟수
    • [a-z]{1,3} : 소문자가 1개이상 3개이하
  • () : 하나의 패턴 구분자 안에 서브 패턴을 지정해서 사용할 경우

 

정규표현식 테스트 사이트 : https://regex101.com/

 

regex101: build, test, and debug regex

Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.

regex101.com

 

^[abc]$ 가 의미하는것은?

  • 한글자이고 a나 b나c인 경우만 참

^[abc]+$ 가 의미하는것은?

  • 문자열이 abc로만 되어 있고, 1글자 이상인 경우

^[a-z]$ 가 의미하는것은?

  • 한글자이고, a~z인 경우

^\d{3,5} 가 의미하는것은?

  • 숫자 3~5

\d가 의미하는것은?

  • 숫자1자

^\d{3,}$가 의미하는것은?

  • 숫자3자 이상

^\d{3}가 의미하는것은?

  • 숫자3자

^(010|011|012)$가 의미하는것은?

  • 010, 011, 012인 경우

문자열이 영문 5~8자리인 경우를 확인하는 정규 표현식을 적성하세요

  • ^[a-zA-Z]{5,8}$

아이디는 영문, 숫자로 구성되어있고, 8~13자인 경우를 확인하는 정규 표현식을 작성하세요

  • ^\w{8,13}$

url인지 아닌지 판별하기 위해 문자열의 시작이 https또는 http가 맞는지 확인하는 정규표현식을 작성하세요

  • ^https?://[a-zA-Z0-9\.]+$
  • ^[^abc]$가 의미하는것은?
    • a,b,c가 아닌 한글자 (^가 중간에 있을때는 not을 의미함)

Pattern 클래스 

  • 정규식에 맞는지 확인할 때 사용하는 클래스

      boolean result = Pattern.matches(“정규식”, “문자열”);

  • 문자열이 정규식 규칙에 맞는지 확인해서 맞으면 true, 아니면 false 를 반환

 

 

 

'자바 기초 및 세팅' 카테고리의 다른 글

14일차(DecimalFormat, 예외처리)  (1) 2023.12.28
13일차(Wrapper클래스)  (1) 2023.12.27
13일차(기본클래스)  (0) 2023.12.27
13일차(인터페이스)  (0) 2023.12.27
12일차(상속, 업 다운 캐스팅)  (0) 2023.12.26