📝
서은 STUDY_SCRIPT
  • JAVASCRIPT 기록
  • JAVASCRIPT 문법정리
    • 데이터 저장하기
    • 데이터 불러오기
    • 데이터 실행하기
    • 데이터 제어하기
    • 면접질문 정리
  • PHP를 이용한 사이트 작업
    • PHP와 MySQL
      • 댓글쓰기
      • 회원가입
      • 로그인
      • 게시판
        • 페이지네이션 & 게시글보기
        • 수정/삭제/목록/검색
  • 생활코딩 JavaScript
    • JavaScript 입문수업
      • Basic
        • 자바스크립트 기본 세팅
        • 데이터타입
        • 변수
        • 연산자
        • 조건문
        • 반복문
        • 함수
        • 배열
        • 객체
        • 모듈
        • 정규표현식
      • 함수지향
        • 유효범위
        • 값으로서 함수
        • 값으로서 콜백
        • 클로저
        • arguments
        • 함수의 호출
      • 객체지향
        • 생성자와 new
        • 전역객체
        • this
        • 상속
        • Prototype
        • 표준내장객체의 확장
        • Object
        • 데이터 타입
        • 복제 & 참조
    • JavaScript Basic
      • 자바스크립트란?
      • 데이터타입
      • 변수와 대입연산자
      • 제어할 태그 선택
      • 비교연산자와 불리언
      • 조건문 if
      • 리팩토링
      • 배열 [ ]
      • 반복문 while
      • 배열과 반복문
        • 배열과 반복문의 활용
      • 함수
        • 함수의 활용
      • 객체 { }
        • 객체와 반복문 for~in
        • 프로퍼티와 메소드
        • 객체의 활용
      • 파일로 쪼개서 정리정돈
      • 라이브러리 & 프레임워크
      • UI & API
    • Web Browser
      • JavaScript란?
      • BOM
        • 전역객체 window
        • 사용자와 커뮤니케이션
        • Location 객체
        • Navigator 객체
        • 창 제어
      • DOM
        • 제어 대상 찾기
        • jQuery
        • HTMLElement
        • Element 객체
          • 식별자 API
          • 조회 API
          • 속성 API
        • Node 객체
          • Node 관계 API
          • Node 종류 API
          • Node 변경 API
          • jQuery 노드 변경 API
          • 문자열로 노드 제어
        • HTMLCollection
      • 이벤트
        • 이벤트 등록
        • 이벤트 전파(버블링과 캡처링)
        • 이벤트 기본 동작 취소
        • 이벤트 타입
      • 네트워크 통신
        • Ajax
        • JSON
  • NOMAD JAVASCRIPT
    • VanillaJS
      • Why JS?
      • ES5, ES6
      • Basic
        • Alert & Console
        • Variable
        • Data Types
        • Array & Object
      • Function
      • DOM
        • Event & Event handler
        • Conditional
        • Function Practice
      • Momentum App
        • Making a JS Clock
        • Saving the User Name
        • To-Do List
        • Image Background
        • Getting Weather
  • DREAM CODING
    • 자바스크립트 기초 강의 (ES5+)
      • JavaScript 역사
      • async & defer / Strict Mode
      • Variable / Hoisting / Data Type
      • Operator / if / Loop
      • Function
        • 함수의 선언
        • 함수의 표현
      • Class
      • Object
      • Array
      • Array API
      • JSON
      • Callback
      • Promise
      • Async & Await
  • WEB BOS
    • #JavaScript30
Powered by GitBook
On this page
  • 정규표현식(Regular Expression)
  • 1. 컴파일(compile)
  • 1-1. 정규표현식 리터럴
  • 1-2. 정규표현식 객체생성자
  • 2. 정규표현식 메소드 실행(execution)
  • 2-1. RegExp.exec()
  • 2-2. RegExp.test()
  • 2-3. String.match()
  • 2-4. String.replace() - 치환
  • 3. 옵션
  • 3-1. 옵션 i
  • 3-2. 옵션 g
  • 3-3. 옵션 i와 g 혼합
  • 4. 캡처

Was this helpful?

  1. 생활코딩 JavaScript
  2. JavaScript 입문수업
  3. Basic

정규표현식

정규표현식(Regular Expression)

정규표현식은 문자열에서 특정한 문자를 찾아내는 도구로, 이 도구를 이용하면 수십 줄이 필요한 작업을 한 줄로 끝낼 수 있음

1. 컴파일(compile)

컴파일은 검출하고자 하는 패턴을 만드는 일

1-1. 정규표현식 리터럴

let pattern = /a/
//a라는 텍스트를 찾아내는 정규표현식

1-2. 정규표현식 객체생성자

let pattern = new RegExp('a');
//a라는 텍스트를 찾아내는 정규표현식

2. 정규표현식 메소드 실행(execution)

정규표현식을 컴파일해서 객체를 만든 후, 문자열에서 원하는 문자를 찾아내기

2-1. RegExp.exec()

실행결과는 해당 값이 있는 배열을 리턴

let pattern = new RegExp('a');
pattern.exec('abcde');  //["a"]
pattern.exec('bcdefg'); //null

let pattern = /a./;    // .은 하나의 문자
pattern.exec('abcde'); //["ab"]

2-2. RegExp.test()

인자 안에 패턴에 해당되는 문자열이 있으면 true, 없으면 false를 리턴

let pattern = /a/;
pattern.test('abcdef'); //true
pattern.text('bcde'); //false

2-3. String.match()

RegExp.exec()와 비슷

let pattern = /a/;
let str = 'abcdef';
str.match(pattern); //["a"]
let str = 'bcdef';
str.match(pattern); // null

2-4. String.replace() - 치환

문자열에서 패턴을 검색해서 이를 변경한 후에 변경된 값을 리턴

let str = 'abcdef';
let pattern = /a/;
str.replace(pattern, 'A'); //"Abcdef"​

3. 옵션

정규표현식 패턴을 만들 때 옵션 설정 가능, 옵션에 따라서 검출되는 데이터가 달라짐

3-1. 옵션 i

i를 붙이면 대소문자를 구분하지 않음

var xi = /a/;
"Abcde".match(xi); //null
var oi = /a/i;
"Abcde".match(oi); //["A"]

3-2. 옵션 g

g를 붙이면 검색된 모든 결과를 리턴

var xg = /a/;
"abcdea".match(xg); //["a"]
var og = /a/g;
"abcdea".match(og); //["a" , "a"]

3-3. 옵션 i와 g 혼합

var ig = /a/ig;
"AabcAa".match(ig); //["A" , "a" , "A" , "a"]

4. 캡처

괄호 안의 패턴은 마치 변수처럼 재사용 할 수 있고, 이 때 기호 $를 사용

let pattern = /(\w+)\s(\w+)/; //\s 는 공백
let str = "coding everybody";
let result = str.replace(pattern, "$2, $1");
//pattern에 해당하는 문자 뒤에 있는 값으로 치환
//$1 = 첫번째 패턴, $2 = 두번째 패턴 ,는 공백
console.log(result); //everybody, coding
Previous모듈Next함수지향

Last updated 3 years ago

Was this helpful?