사용했던 정규식(Regex) 모음

less than 1 minute read

정규식은 코딩하다 보면 정말 많이 쓰인다.

그래서 그동안 해왔던 것중 검색에서 쉽게 못찾은 것들과 삽질한것을 모아봤다.

나중에 또 필요할지 모르니까.

(여기 있는 식들이 효율적인지는 잘 모르겠다.)

여기 정규식에 대해 자세한 설명이 되어있다.



- 아이디 체크

  • 조건 1 : 맨 앞자리는 영문
  • 조건 2 : 영문(대소문), 숫자, -,_ 만 가능
  • 조건 3 : 4~20자리

TEST link

정규식 : (?i)^(?=[a-zA-Z])[a-z0-9-_]{4,20}\$ 
-kotlin code-
val totalIdRegex ="(?i)^(?=[a-zA-Z])[a-z0-9-_]{4,20}\$".toRegex()

참고

 (?i) match the remainder of the pattern with the following effective flags: gmi.

 i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z]).
 g modifier: global search.
 m modifier: case-sensitive and will stop the search after the first match.

 ? : the preceding token in the regular expression optional.
ex) Nov(ember)? matches Nov and November


- 비밀번호 체크

  • 조건 1 : 영문,숫자,특수문자 사용가능
  • 조건 2 : 영+숫자+특수문자 -> 8~20자리, 영+숫자 -> 10~20자리

TEST link

정규식 : ^(?=.*[a-zA-Z])((?=.*\d)|(?=.*\W)).{10,20}$
-koltlin code-
val reg2to10 = "^(?=.*[a-zA-Z])((?=.*\\d)|(?=.*\\W)).{10,20}$".toRegex()
val reg3to8 = "^(?=.*[a-zA-Z])((?=.*\\d)(?=.*\\W)).{8,20}$".toRegex()


- 특정 문자(기호) 사이 문자

TEST link

정규식 : [<](.*?)[>] or <[^>^<]*>
  • 첫번째는 양 옆의 문자를 바꿔가며 사용하면 된다.
  • 두번째는 4가지(>,>,<,<)를 변경하가면서 필요에 따라서


- 하나이상 공백

TEST link

정규식 : [\s-]+





Leave a comment