正規表現


文字列置換を行う過程で,正規表現の必要性を感じ,学習を開始する.
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|