[HTML, JavaScript] 정규표현식

2022. 6. 21. 09:19·개발/html, css, js
728x90
반응형

정규표현식

정규표현식은 문자검색과 교체에 사용되는 패턴을 제공한다.

자바스크립트에서 RegExp 객체의 문자 함수를 조합해 정규표현식을 사용할 수 있다.

let reg = new RegExp('안녕','i');
console.log(reg)
출력 값 : /안녕/i

RegExp는 두개의 매개변수가 들어간다. => RegExp( 찾는 문자, 플래그)

"/"는 자바스크립트에서 정규표현식을 생성하고 있다는 것을 알려준다.

문자열에서 따옴표를 쓰는것과 같다.

정규표현식을 사용하는 이유 : 이메일 형식인지 체크할 때, 아이디 조건 설정할 때

1. 플래그의 종류

[1] i : 대소문자 구분없이 구별할 수 있다.

[2] g : 패턴과 일치하는 모든 것을 찾는다. g가 없으면 일치하는 것에서 첫번째 것만 가져온다.

[3] m : 다중 행모드. 줄이 내려져있어도 찾아온다. \n(백틱) 같은것으로 행차이가 있어도 찾음

 

2.  정규표현식을 이용하는 메서드

[1]  match : String.match("찾는 문자열", "플래그")

match는 찾는 문자열에 만족하는 문자를 배열의 형태로 담아낸다.

let string = "안녕하세요.";
box.innerHTML = string.match("하");

g플래그 사용

box.innerHTML = string2.match(/하/g);

g는 패턴과 일치하는 모든 문자를 찾는데 ","로 구분한다.

 

i플래그 사용

let str = "나는 abC, 나는 Abc 문자열";
let str2 = str.match(/aBc/ig)

[2] replace : String.replace("찾는 문자열", "바꿀 문자열")

 

let name3 = "홍길동은 홍길동이다."
name3 = name3.replace(/홍길동/,"홍");

replace 두번째 매개변수에 특수문자를 입력하면 특수한 방법으로 문자열을 교체할 수 있다.

 

{1} 특수한 방법

 

(1) $& : 패턴과 일치하는 부분의 문자열 (주로 사용)

(2) $` : 일치하기 전의 문자열의 일부를 대입

(3) $' : 일치한 후 문자열의 일부를 대입

 

728x90
반응형

'개발 > html, css, js' 카테고리의 다른 글

[30일 챌린지 Day-2] 시계 만들기  (1) 2022.07.25
[JavaScript] 농구게임 만들기  (0) 2022.06.21
[JS, HTML, CSS] 이벤트  (0) 2022.06.17
[HTML, CSS] 이벤트리스너  (0) 2022.06.09
[HTML, JavaScript] 가위바위보, 일정 캘린더 만들기  (0) 2022.06.07
'개발/html, css, js' 카테고리의 다른 글
  • [30일 챌린지 Day-2] 시계 만들기
  • [JavaScript] 농구게임 만들기
  • [JS, HTML, CSS] 이벤트
  • [HTML, CSS] 이벤트리스너
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    컨테이너
    30일 챌린지
    nodejs
    node.js
    go언어
    mysql
    html
    30일챌린지
    하이퍼레저
    go
    node
    프로그래머스
    js
    블록체인
    React
    erc20
    도커
    명령어
    CSS
    ERC721
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[HTML, JavaScript] 정규표현식
상단으로

티스토리툴바