String.prototype.replace() 의 별로 알려지지 않은 쓰는 방법 「$&」 「$`」 「$'」 「$$」 「$n」

이 사이트는 참고입니다. 이쪽을 읽고 공부가 되었으므로 투고한 것만의 내용입니다.
여기를 보시면 내 게시물을 읽지 않아도 괜찮습니다. 시간을 유효하게 사용해 주시면 좋겠습니다.
javascript 공부중인 것입니다. 실수가 있으시면 알려 주시면 고맙습니다
  • String.prototype.replace supports replacement patterns
  • htps : //로 ゔぇぺぺr. 모잖아. 오 rg / Enu S / Docs / Ue b / 자 Sc 리 pt / Refu 렌세 / G ぉ 바 l_ 오지 cts / St 링 g / Re p pse # Spe fy in g_a_st 인 g_a s_a_ 파라메 r


  • 참고 사이트 그대로입니다만 이렇게 동작하는 것을 확인할 수 있었습니다.
    const msg = 'This is a great message';
    
    console.log(msg.replace('great', 'wonderful'))
    // "This is a wonderful message"
    // 普通に置換
    // 「great」を「wonderful」に置換
    
    console.log(msg.replace('great', '$&-$&'))
    // "This is a great-great message"
    // 「$&」は一致した部分文字列を表す
    // 「great」を「great-great」に置換
    
    console.log(msg.replace('great', '$`'))
    // "This is a This is a  message"
    // 「$`」は一致した部分文字列の前にある文字列を表す
    // 「great」を「This is a 」に置換
    
    console.log(msg.replace('great', `$'`))
    // "This is a  message message"
    // 「$'」は一致した部分文字列の後ろにある文字列を表す
    // 「great」を「 message」に置換
    
    console.log('100ドル'.replace('ドル', '$$'))
    // "100$"
    console.log('100ドル'.replace('ドル', '$$`'))
    // "100$`" (@chai222222さんのコメントにより追記)
    console.log('100ドル'.replace('ドル', '$`'))
    // ↑だと"100100"となってしまう (@chai222222さんのコメントにより追記)
    
    console.log('John Smith'.replace(/(\w+)\s(\w+)/, '$2, $1'))
    // "Smith, John"
    // 括弧で囲まれたn番目の文字列を表す
    

    솔직히 이렇게 쓰면 알기 어렵다고 생각했습니다.

    「어떤 문제를 해결하려고 정규 표현을 사용하면 문제가 2개로 늘어난다」라는 명언도 있는 것 같고, 조심해 사용해 가면 좋겠다고 생각했습니다.
    읽어 주셔서 감사합니다. m(_ _)m

    좋은 웹페이지 즐겨찾기