JS 정규식

에구마·2023년 8월 9일
0

FrontEnd

목록 보기
21/25

정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다.

리터럴 방식

/패턴/플래스

var re = /abc/; //단순 패턴
var re = /ab*c/; //특수 문자

특수문자 사용 예제

  • ^
    바로다음 문자로 시작하는 문자열 탐지
var re = /ab+c/;

플래그

ex) /abc/i 에서 i

  • i
    -> 대소문자 무시(ignore)
  • g
    -> 문자열 내 모든 패턴 탐색
  • m
    -> 문자열 행 넘어가도 계속 탐색

메서드

  • 문자열.match(정규표현식)
    -> 매칭되는 항목들을 배열로 반환. !!이때 플래그g 없으면 최초발견문자만 배열로
  • 문자열.replace(정규표현식, 대체문자열)
    -> 매칭되는 항목들을 대체문자열로 변환
  • 문자열.split(정규표현식)
    -> 매칭되는 항목을 기준으로 쪼개어 배열로 반환
  • 정규표현식.test(문자열)
    -> 문자열이 정규표현식에 매칭되면 true, 아니면 false
  • 정규표현식.exec(문자열)
    -> 첫번째 매칭 결과만 반환
// 정규표현식을 담은 변수
const regex = /apple/; // apple 이라는 단어가 있는지 필터링

// "문자열"이 "정규표현식"과 매칭되면 true, 아니면 false반환
regex.test("Hello banana and apple hahahaha"); // true

// "문자열"에서 "정규표현식"에 매칭되는 항목들을 배열로 반환
const txt = "Hello banana and apple hahahaha";
txt.match(regex); // ['apple']

// "정규표현식"에 매칭되는 항목을 "대체문자열"로 변환
txt.replace(regex, "watermelon"); // 'Hello banana and watermelon hahahaha'

예제 참고

RegExp 객체 생성자 방식

var re = new RegExp("ab+c");

예제

11110100101에서 1의 갯수 찾기

var n = 11110100101
var find1 = n.toString().match(/1/g)
// [
  '1', '1', '1',
  '1', '1', '1',
  '1'
]
var find1cnt1 = n.toString().match(/1/g).length
// 7
profile
코딩하는 고구마 🍠 Life begins at the end of your comfort zone

0개의 댓글