사용했던 정규식(Regex) 모음
정규식은 코딩하다 보면 정말 많이 쓰인다.
그래서 그동안 해왔던 것중 검색에서 쉽게 못찾은 것들과 삽질한것을 모아봤다.
나중에 또 필요할지 모르니까.
(여기 있는 식들이 효율적인지는 잘 모르겠다.)
- 아이디 체크
- 조건 1 : 맨 앞자리는 영문
- 조건 2 : 영문(대소문), 숫자, -,_ 만 가능
- 조건 3 : 4~20자리
정규식 : (?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자리
정규식 : ^(?=.*[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()
- 특정 문자(기호) 사이 문자
정규식 : [<](.*?)[>] or <[^>^<]*>
- 첫번째는 양 옆의 문자를 바꿔가며 사용하면 된다.
- 두번째는 4가지(>,>,<,<)를 변경하가면서 필요에 따라서
- 하나이상 공백
정규식 : [\s-]+
Leave a comment