2022.12.21 TIL

mil nil·2022년 12월 21일
0

TIL (Today I Learned)

목록 보기
36/74

오늘 배운 것

SDK 버전 오류 문제 해결


정규식 확인 이슈 해결

  • 로그인 구현 중 정규식만 넣으면 오류가 나는 이슈 발생
  • 해결 방법
@Pattern(regexp = "^[a-z0-9]$")

정규식 형태 가장 끝에 *을 추가해야했다.

@Pattern(regexp = "^[a-z0-9]*$")

정규식 []안에 들어간 문자에 대한 추가적인 정보가 필요했다.

정규 표현식설명
^문자열 시작
$문자열 종료
.임의의 한 문자(단 \은 넣을 수 없음)
*앞 문자가 없을 수도 무한정 많을 수도 있음
+앞 문자가 하나 이상
?앞 문자가 없거나 하나 있음
[ ]문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타냅니다. [] 내에서 ^ 가 선행하여 존재하면 not을 나타낸다.
{ }횟수 또는 범위를 나타냅니다.
( )소괄호 안의 문자를 하나의 문자로 인식
|패턴 안에서 or 연산을 수행할 때 사용
\ 정규 표현식 역슬래시()는 확장문자 (역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미)
\b단어의 경계
\B단어가 아닌것에 대한 경계
\A입력의 시작 부분
\G이전 매치의 끝
\Z입력의 끝이지만 종결자가 있는 경우
\z입력의 끝
\s공백 문자
\S공백 문자가 아닌 나머지 문자
\w알파벳이나 숫자
\W알파벳이나 숫자를 제외한 문자
\d숫자 [0-9]와 동일
\D숫자를 제외한 모든 문자
(?i)앞 부분에 (?!)라는 옵션을 넣어주게 되면 대소문자는 구분하지 않습니다.

참조: [Java] 자바 정규 표현식 (Pattern, Matcher) 사용법 & 예제

profile
자바 배우는 사람

0개의 댓글