javascript

정규표현식으로 사이에 있는 내용 가져오기

요구사항

<animal></animal> 태그 내부의 <cat></cat> 태그 내부의 내용 가져오기

Input

const input = `<animal>
    <cat>나비</cat>
    <cat>치즈</cat>
    <dog>바둑이</dog>
    <cat>냥냥이</cat>
</animal>`;

구현

function getNamesIncludeTag(input, type) {
  const reg = new RegExp(`(<${type}>)(.*?)(<\/${type}>)`, "gs");
  const result = input.match(reg);
  return result;
}

function getNamesExcludeTag(input, type) {
  const reg = new RegExp(`(?<=<${type}>)(.*?)(?=<\/${type}>)`, "gs");
  const result = input.match(reg);
  return result;
}

const input = `<animal>
	<cat>나비</cat>
  <cat>치즈</cat>
  <dog>바둑이</dog>
  <cat>냥냥이</cat>
</animal>`;

console.log(getNamesIncludeTag(input, "cat"));
console.log(getNamesExcludeTag(input, "cat"));

결과

'javascript' 카테고리의 다른 글

[JS] Promise.race를 사용하여 timeout 구현하기  (0) 2023.10.15
HTML 문서 렌더링  (0) 2020.11.19
fetch  (0) 2020.11.15
XMLHttpRequest  (0) 2020.11.10
Promise  (0) 2020.11.03