정규표현식
-
\b와 \B의 차이 정규 표현식에서 많이 헤깔리는 표현 중 하나가 \b와 \B이다. 이녀석들의 주의점은 어떤 지점을 의미하므로 특정 문자와 매칭되는 것이 아니다!! 예를 들어 숫자에서 특정 지점을 찾아서 천단위 구분자를 넣는 등의 작업에 사용될 수 있다. \b \b는 word booundary를 나타낸다. 즉 문자열의 어느 한쪽은 \w에 해당하는 word character(_, a~z, A-Z, 0~9)이고 다른 쪽은 그렇지 않은 지점들이 word boundary이다. 또한 word character로 시작하거나 끝나는 지점도 \b에 해당한다. \B \B는 상대적으로 복잡하다. 일반적으로 정규표현식의 예외문자는 \대문자와 \소문자가 뜻이 상반된다. 그래서 얇게 생각해서 \B를 비 word 문자의 경계로 ..
\b와 \B의 차이\b와 \B의 차이 정규 표현식에서 많이 헤깔리는 표현 중 하나가 \b와 \B이다. 이녀석들의 주의점은 어떤 지점을 의미하므로 특정 문자와 매칭되는 것이 아니다!! 예를 들어 숫자에서 특정 지점을 찾아서 천단위 구분자를 넣는 등의 작업에 사용될 수 있다. \b \b는 word booundary를 나타낸다. 즉 문자열의 어느 한쪽은 \w에 해당하는 word character(_, a~z, A-Z, 0~9)이고 다른 쪽은 그렇지 않은 지점들이 word boundary이다. 또한 word character로 시작하거나 끝나는 지점도 \b에 해당한다. \B \B는 상대적으로 복잡하다. 일반적으로 정규표현식의 예외문자는 \대문자와 \소문자가 뜻이 상반된다. 그래서 얇게 생각해서 \B를 비 word 문자의 경계로 ..
2021.01.04 -
이번 포스트에서는 SQL 함수에 사용되는 정규 표현식을 살펴보자. Sql 함수에서의 정규 표현식 SQL에서의 패턴 검색은 LIKE 연산자에서 %와 ?를 이용하는 아주 간단한 형태이다. 값에 숫자가 있는지, 영문이 있는지 판단하려면 매우 힘들다. 하지만 정규 표현식을 사용한다면 전혀 어려울게 없어진다. 아래 내용은 mysql을 예로 설명하므로 다른 DBMS는 별도의 문서를 확인하자. MySQL :: MySQL 8.0 Reference Manual :: 12.7.2 Regular Expressions 12.7.2 Regular Expressions Table 12.13 Regular Expression Functions and Operators Name Description NOT REGEXP Negatio..
정규 표현식 - SQL이번 포스트에서는 SQL 함수에 사용되는 정규 표현식을 살펴보자. Sql 함수에서의 정규 표현식 SQL에서의 패턴 검색은 LIKE 연산자에서 %와 ?를 이용하는 아주 간단한 형태이다. 값에 숫자가 있는지, 영문이 있는지 판단하려면 매우 힘들다. 하지만 정규 표현식을 사용한다면 전혀 어려울게 없어진다. 아래 내용은 mysql을 예로 설명하므로 다른 DBMS는 별도의 문서를 확인하자. MySQL :: MySQL 8.0 Reference Manual :: 12.7.2 Regular Expressions 12.7.2 Regular Expressions Table 12.13 Regular Expression Functions and Operators Name Description NOT REGEXP Negatio..
2020.06.13 -
이번 포스트에서는 JavaScript에서 정규 표현식을 처리에 대해 알아보자. RegExp RegExp 생성 자바스크립트에서 정규표현식을 처리하기 위해서는 RegExp를 사용한다. RegExp객체를 얻기 위해서는 생성자 함수를 이용해도 되지만 간단히 표현식 자체를 쓰기도 한다. // 기본 문법 new RegExp(pattern[, flags]) /pattern/flags // 사용 예 let regexp = new RegExp("/[a-z]{2}", "/g" );// 생성자 함수의 이용 let regexp = /[a-z]{2}/g; test() 문자열에 정규표현식 내용이 포함되어있는지 확인하기 위해서는 test 함수를 사용한다. test 함수를 사용할 때는 RegExp의 lastIndex 속성에 대해 잘..
정규 표현식 - JavaScript이번 포스트에서는 JavaScript에서 정규 표현식을 처리에 대해 알아보자. RegExp RegExp 생성 자바스크립트에서 정규표현식을 처리하기 위해서는 RegExp를 사용한다. RegExp객체를 얻기 위해서는 생성자 함수를 이용해도 되지만 간단히 표현식 자체를 쓰기도 한다. // 기본 문법 new RegExp(pattern[, flags]) /pattern/flags // 사용 예 let regexp = new RegExp("/[a-z]{2}", "/g" );// 생성자 함수의 이용 let regexp = /[a-z]{2}/g; test() 문자열에 정규표현식 내용이 포함되어있는지 확인하기 위해서는 test 함수를 사용한다. test 함수를 사용할 때는 RegExp의 lastIndex 속성에 대해 잘..
2020.06.11 -
이번 포스트에서는 자바 언어에서 정규 표현식 처리를 위한 API에 대해 알아보자. 자바에서 정규 표현식을 처리하기 위해서는 java.util.regex 패키지에 있는 Matcher와 Pattern을 사용한다. java.util.regex.Pattern matches() Pattern 클래스는 크게 compile, matcher, matches 메서드를 제공한다. 먼저 간단히 주어진 문자열이 특정 패턴에 부합하는지 알아보기 위해서는 matches 메서드를 사용한다. public static boolean matches(String regex, CharSequence input) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(input); retu..
정규 표현식 - Java이번 포스트에서는 자바 언어에서 정규 표현식 처리를 위한 API에 대해 알아보자. 자바에서 정규 표현식을 처리하기 위해서는 java.util.regex 패키지에 있는 Matcher와 Pattern을 사용한다. java.util.regex.Pattern matches() Pattern 클래스는 크게 compile, matcher, matches 메서드를 제공한다. 먼저 간단히 주어진 문자열이 특정 패턴에 부합하는지 알아보기 위해서는 matches 메서드를 사용한다. public static boolean matches(String regex, CharSequence input) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(input); retu..
2020.06.11 -
이번 포스트에서는 정규 표현식을 이용해 유의미한 패턴을 어떻게 만들고 사용할지 알아보자. 정규 표현식 따라 하기 앞서 정규 표현식에 대해서 살펴봤는데 막상 표현식을 작성하려고 보면 쉽지만은 않다. 다행인 점은 우리가 사용하려는 패턴이 대부분 이미 만들어져있다는 점이다. 예를 들어 이메일이나 전화번호가 적합한지 알기 위한 패턴은 대부분 개발 환경에서 유사하다. regex101.com 같은 사이트에도 다른 개발자들이 올려놓은 많은 정규 표현식을 참조할 수 있게 되어있다. 따라서 당장 우리에게 필요한 능력은 필요한 패턴을 찾아서 읽고 내 입맛에 맞게 편집할 수 있는 정도면 충분하다. https://regex101.com/library에서 Strict Password Validator를 검색해 보자. regex..
정규 표현식 - 유용한 표현들이번 포스트에서는 정규 표현식을 이용해 유의미한 패턴을 어떻게 만들고 사용할지 알아보자. 정규 표현식 따라 하기 앞서 정규 표현식에 대해서 살펴봤는데 막상 표현식을 작성하려고 보면 쉽지만은 않다. 다행인 점은 우리가 사용하려는 패턴이 대부분 이미 만들어져있다는 점이다. 예를 들어 이메일이나 전화번호가 적합한지 알기 위한 패턴은 대부분 개발 환경에서 유사하다. regex101.com 같은 사이트에도 다른 개발자들이 올려놓은 많은 정규 표현식을 참조할 수 있게 되어있다. 따라서 당장 우리에게 필요한 능력은 필요한 패턴을 찾아서 읽고 내 입맛에 맞게 편집할 수 있는 정도면 충분하다. https://regex101.com/library에서 Strict Password Validator를 검색해 보자. regex..
2020.06.10 -
이번 포스트에서는 본격적으로 정규 표현식 작성 방법에 대해 살펴보자. 정규 표현식은 사용하는 언어에 따라 기호들의 범위가 다른데 여기서는 JavaScript를 기준으로 살펴본다. 정규표현식 기본적인 정규 표현식 구성 정규 표현식은 /pattern/flag 형태로 구성되는데 검사하고 싶은 문자열에서 pattern에 부합되는 내용이 있는지 찾아보는 게 목적이다. pattern에는 찾으려는 문자열을 넣어주면 된다. 문자 중 특수한 의미를 갖는 문자를 메타문자라고 한다. 예를 들어 '.'은 any character 1개를 의미한다. flag는 정규표현식을 이용해서 탐색을 진행할 때 사용되는 일종의 검색 옵션이다. 대표적으로 다음의 것들이 사용된다. g: global(전체)에 걸쳐서 계속해서 검색한다. 이 옵션이..
정규 표현식 - 메타문자이번 포스트에서는 본격적으로 정규 표현식 작성 방법에 대해 살펴보자. 정규 표현식은 사용하는 언어에 따라 기호들의 범위가 다른데 여기서는 JavaScript를 기준으로 살펴본다. 정규표현식 기본적인 정규 표현식 구성 정규 표현식은 /pattern/flag 형태로 구성되는데 검사하고 싶은 문자열에서 pattern에 부합되는 내용이 있는지 찾아보는 게 목적이다. pattern에는 찾으려는 문자열을 넣어주면 된다. 문자 중 특수한 의미를 갖는 문자를 메타문자라고 한다. 예를 들어 '.'은 any character 1개를 의미한다. flag는 정규표현식을 이용해서 탐색을 진행할 때 사용되는 일종의 검색 옵션이다. 대표적으로 다음의 것들이 사용된다. g: global(전체)에 걸쳐서 계속해서 검색한다. 이 옵션이..
2020.06.10 -
정규 표현식이란? 정규 표현식(Regular Expression)이란 여러 메타문자를 이용해 패턴을 작성하고 패턴에 부합하는 문자열을 검색하거나 치환하는 데 사용되는 기술이다. 웹 페이지를 사용하면서 사용자의 입력 값이 원하는 형태인지 파악하기 위해 사용되는 경우를 많이 볼 수 있다. 예를 들어 tistory는 회원 가입 화면에서 아래와 같은 입력값 검증을 실시하고 잘못된 경우 에러를 보여준다. 정규 표현식은 IDE 등 여러 툴들에서 검색을 위한 설정, java나 javascript 같은 프로그래밍 언어는 물론 sql 문장 등 활용 범위가 매우 넓기 때문에 프로그래머라면 반드시 정복해야 하는 분야 중 하나이다. 유용한 사이트들 정규 표현식을 처음부터 잘 만들어 쓰기는 매우 어렵다. 다행히 아래 사이트들을..
정규 표현식 - 개요정규 표현식이란? 정규 표현식(Regular Expression)이란 여러 메타문자를 이용해 패턴을 작성하고 패턴에 부합하는 문자열을 검색하거나 치환하는 데 사용되는 기술이다. 웹 페이지를 사용하면서 사용자의 입력 값이 원하는 형태인지 파악하기 위해 사용되는 경우를 많이 볼 수 있다. 예를 들어 tistory는 회원 가입 화면에서 아래와 같은 입력값 검증을 실시하고 잘못된 경우 에러를 보여준다. 정규 표현식은 IDE 등 여러 툴들에서 검색을 위한 설정, java나 javascript 같은 프로그래밍 언어는 물론 sql 문장 등 활용 범위가 매우 넓기 때문에 프로그래머라면 반드시 정복해야 하는 분야 중 하나이다. 유용한 사이트들 정규 표현식을 처음부터 잘 만들어 쓰기는 매우 어렵다. 다행히 아래 사이트들을..
2020.06.09