====== Regular Expression, 정규표현식 ====== * description : * author : 도봉산핵주먹 * email : hylee@repia.com * lastupdate : 2020-06-08 ===== Regular Expression?, 정규표현식 이란? ===== > 정규표현식(Regular expressions)은 줄여서 Regex라고 합니다. Regex는 문자열에 어떤 패턴의 문자들이 있는지 찾는데 도움을 줍니다 ==== Meta characters ==== ^ Regular Expression ^ Description ^ | . | 어떤 문자 1개를 의미 | | %%^%%regex | %%^%% 다음 regex로 line을 시작하는지 | | regex$ | $ 앞의 regex가 line의 마지막으로 끝나는지 | | [abc] | a, b, c 중의 문자 1개 | | [abc] | [vz] a, b, c 중에 문자 1개와 v, z 중에 문자 1개의 조합 | | [%%^%%abc] | a, b, c를 제외한 문자 1개 | | [a-d1-7] | a~d, 1~7 사이의 문자 1개 | | X%%|%%Z | X 또는 Z | | \d | 0~9 사이의 숫자, [0-9]와 동일 | | \D | 숫자가 아닌 어떤 문자, [%%^%%0-9]와 동일 | | \s | whitespace 1개, [\t\n\x0b\r\f]와 동일 | | \S | whitespace를 제외한 문자 | | \w | Alphanumeric(alphabet, 숫자) 문자, [a-zA-Z_0-9]와 동일 | | \W | Alphanumeric을 제외한 문자(whitespace 등) | | \S+ | whitespace를 제외한 여러 문자 | | \b | 단어의 경계(공백)를 찾습니다 | > [[https://codechacha.com/ko/java-regex/|Metacharacters 예제]] ===== Case Study ===== 숙제? 다음이 의미하는 것은? // 도서관 정보나루 (https://data4library.kr) 회원 가입에서 발췌 var password="ehtjrhks12$"; console.log(!/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{9,20}$/.test(password)) ===== Tip ===== ===== Troubleshooting ===== ===== Ref ===== * [[https://regexr.com/|regexr 연습 페이지 ]] {{tag>도봉산핵주먹 regular_expression}}