정규표현식

김태완·2022년 4월 17일
0
post-thumbnail

문자열 치환작업을 하는도중 정규표현식의 필요성을 느끼게 되어 공부하였다..

const regex = "/^k/"
const str = "kim tae wan king of kidult kkk";

str.match(refex) // ["k","k","k","k","k","k"]

표현식

^ : 줄의 시작에서 일치
$ : 줄의 끝에서 일치

abcdefg
oqifhlwe
3iruop23rug

/^a/ : abcdefg
/e$/ : oqifhlwe

. : 임의의 한 문자와 일치

ajueoirjqowjdudwdj
/.j/ : aj, rj, wj, dj
/..j/ : irj, owj, wdj

a|b : a또는 b일치

김밥볶음밥삶은계란라이스밥버거계란후라이
/밥|계란/ : 밥 밥 계란 밥 계란

* : 0회이상 반복되는 문자와 가능한 많이일치
+ : 1회이상 반복되는 문자와 가능한 많이 일치
*?, +? : 위 조건에 가능한 적게 일치

lolem input sekecfwlkh doi2eijwofinginggggg
/ing*/g : in ing, inggggg  => in을 검색하고 g가 있는거 없는거 모두 가능한 많이 카운트
/ing*?/g : in, in, in 
/ing+/g : ing, inggggg
/ing+?/g : ing, ing

[] : []안에 있는 조건은 각각 or을 나타낸다
ex [abc] == a|b|c
ex [a-z] == a~z사이의 알파벳

예제

  • 특정문자로 감싸진 텍스트 추출
fqlkjfelhwfehfwe|list_number|wfewqldjf|text_1|fehofhfew
ewflkjewlkhfewklfh|brand_name|ewkhfewfkhf|ABC_DEF|
fewjhfgejkfjgjkwefgfkwegwfekgwefk

/\|[a-zA-Z0-9_\n]+\|/ : |list_number|, text_1|, |brand_name|
/\|[^|]+\|/ : : |list_number|, text_1|, |brand_name|, |ABC_DEF|
profile
프론트엔드개발

0개의 댓글