์ ๊ทํํ์ Tips
Javascript์์๋ split์ด๋ replace๊ฐ์ ๋ฌธ์์ด ํจ์์ ์ ๊ทํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ฒ ๊ฒ์๊ธ์์๋ ์ ๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ทํํ์์ ์ฌ์ฉํ๋ฉด์ ์๊ฒ๋ ์ ์ฉํ ํ์ ๋ํด ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
์ด ๊ธ์ ์ ๊ทํํ์์ ๊ธฐ๋ณธ ๊ฐ๋
์ ์ด๋ฏธ ์ดํดํ๊ณ ์๋ ๋
์๋ฅผ ๋์์ผ๋ก ์์ฑ๋์์ต๋๋ค.
๋ง์ฝ ์ ๊ทํํ์์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํ๋ค๋ฉด, ์ธํ๋์ ๋ธ๋ก๊ทธ ๊ธ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.
์ด ๋ธ๋ก๊ทธ์์ ์ ๊ทํํ์์ ๊ดํ ๋ด์ฉ์ด ๊น์ด ์๊ณ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๋์ด ์์ด, ์ ๊ทํํ์์ ์์ฑํ ๋๋ง๋ค ์ ๋ ํญ์ ์ฐธ๊ณ ํ๊ณ ์์ต๋๋ค.
https://inpa.tistory.com/entry/JS-๐-์ ๊ท์-RegExp-๋๊ตฌ๋-์ดํดํ๊ธฐ-์ฝ๊ฒ-์ ๋ฆฌ
[Tips 1] split ๊ตฌ๋ถ์๋ก ์ฌ์ฉ
์๋ฐ์คํฌ๋ฆฝํธ์์๋ split ๊ตฌ๋ถ์์ ์ ๊ทํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
split() ๋ฉ์๋๋ ์ง์ ํ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋๋ค.
const str = 'apple, banana, orange';
const splitArr = str.split(', ');
console.log(splitArr);
// [ 'apple', 'banana', 'orange' ]์์ ๊ฐ์ด ๊ตฌ๋ถ์๊ฐ ๋ช
ํํ ๊ฒฝ์ฐ๋ ๋ฌธ์์ด๋ง ์ฌ์ฉํด๋ ์ถฉ๋ถํฉ๋๋ค. ํ์ง๋ง ๋๋ ์ผ ํ๋ ๋ฌธ์์ด์ด โapple9banana8orange' ๋ผ๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์?
split ๊ตฌ๋ถ์์ ์ ๊ทํํ์ ์ฌ์ฉํ๊ธฐ
์ด๋ด ๋ ๋ฐ๋ก ์ ๊ทํํ์์ ๊ตฌ๋ถ์๋ก ์ฌ์ฉํด์ผ ํฉ๋๋ค.
const str = 'apple9banana8orange';
const splitArr = str.split(/\d/);
console.log(splitArr);
// [ 'apple', 'banana', 'orange' ]split์ ๊ตฌ๋ถ์๋ก ์ฌ์ฉํ \d๋ ์ซ์๋ฅผ ๋งค์นญํ๋ผ๋ ๋ป์ผ๋ก [0-9]์ ๋์ผํ ๋งค์นญ ํจํด์
๋๋ค. ๊ตฌ๋ถ์๋ก ์ ๊ทํํ์์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ๋ฌธ์์ด๋ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค.
๊ตฌ๋ถ์๋ split ๊ฒฐ๊ณผ์ ํฌํจํ๊ธฐ
๊ทธ๋ฐ๋ฐ ๋ง์ฝ ๊ตฌ๋ถ์๋ split๋ ๋ฐฐ์ด์ ํฌํจํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์? ์ด๋ด ๋ ์ ๊ทํํ์ ๊ทธ๋ฃนํ์ ์บก์ณ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ๊ทํํ์์ ๊ดํธ ์์ ์๋ ๋งค์นญ ํจํด์ ์บก์ณ(capturing)ํฉ๋๋ค. ์ด๋ ๊ดํธ๋ก ๊ทธ๋ฃนํ๋ ๋ถ๋ถ์ ๋งค์น๋ ๋ฌธ์์ด์ ์ถ์ถํ๋ ๊ฒ์ ๋๋ค.
const str = 'apple9banana8orange';
const splitArr = str.split(/(\d)/);
console.log(splitArr);
// [ 'apple', '9', 'banana', '8', 'orange' ]์์ ๊ฐ์ด ๋งค์นญ ํจํด์ ๊ดํธ ๊ธฐํธ๋ฅผ ์ฌ์ฉํด ๊ทธ๋ฃนํํ๋ค๋ฉด ์ด๊ฒ์ด ์บก์ณ๋ง๋๊ณ , split๋ ๋ฐฐ์ด์ ํฌํจ๋ฉ๋๋ค.
[Tips 2] replace ๋งค์นญ ํจํด์ ์ฌ์ฉํ๊ธฐ
replace์ ๋งค์นญ ํจํด์ผ๋ก๋ ์ ๊ทํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. replace() ๋ฉ์๋๋ ๋งค์นญ ํจํด์ ์ผ์นํ๋ ์ผ๋ถ ๋๋ ๋ชจ๋ ๋ถ๋ถ์ด ๊ต์ฒด๋ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. ๋งค์นญ ํจํด์ split์ฒ๋ผ ์ผ๋ฐ ๋ฌธ์์ด ํน์ ์ ๊ทํํ์์ด ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
const str = 'apple, banana, orange';
const replaceStr = str.replaceAll(', ', ' ');
console.log(replaceStr);
// apple banana orange์์ ๊ฐ์ด ๋งค์นญํด์ผ ํ๋ ํจํด์ด ์ผ์ ํ ๊ฒฝ์ฐ replaceAll์ ๋ฌธ์์ด์ ๋ฃ์ด์ ๋ณํํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ๋ ๋ฌธ์์ด์ ๋จ์ํ ๊ฒ ๋ณด๋ค ๋ณต์กํ๊ฒ ๋ ๋ง์ฃ ๐ฅ ์ด๋ด ๋ ์ ๊ทํํ์์ ๋งค์นญ ํจํด์ผ๋ก ์ฌ์ฉํ๋ฉด ์ ๋ง ์ ์ฉํฉ๋๋ค.
replace ๋งค์นญ ํจํด์ผ๋ก ์ ๊ทํํ์ ์ฌ์ฉํ๊ธฐ
โapple1283902banana1238923orangeโ์ ๊ฐ์ด ๋ฌธ์์ด๋ก ๋งค์นญ ํจํด์ ์ง์ ํ ์ ์๋ ๊ฒฝ์ฐ ์ ๊ทํํ์์ ์ฌ์ฉํด์ ์๋์ ๊ฐ์ด ๊ฐํธํ๊ฒ ๋ฌธ์์ด์ ๊ต์ฒดํ ์ ์์ต๋๋ค.
const str = 'apple1283902banana1238923orange';
const replaceStr = str.replace(/\d/g, ' ');
console.log(replaceStr);
// apple banana orange์ฌ๊ธฐ์ ์ ๊น!! ์ ๊ทํํ์ ๋ค์ ์๋ g๋ผ๋ ๋ฌธ์์ด์ ๋ฌด์์ผ๊น์?
์ด๊ฒ์ ์ ๊ท์ ํ๋๊ทธ๋ผ๋ ๊ฒ์ผ๋ก g๋ ๋ฌธ์์ด ๋ด์ ๋ชจ๋ ํจํด์ ๊ฒ์ํ๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค. ๋ง์ฝ gํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ๋งค์นญ๋ ๋งจ ์ ๋ฌธ์์ด๋ง ๊ต์ฒดํ๊ฒ ๋ฉ๋๋ค.
๊ต์ฒดํ ๋ฌธ์์ด ํจ์๋ก ๋๊ฒจ์ฃผ๊ธฐ
๊ทธ๋ฐ๋ฐ ์์ replaceStr ์ฝ๊ฐ ๋ถํธํ์ง ์๋์โฆ?
apple banana orange ์ฒ๋ผ ํ๋์ ๊ณต๋ฐฑ๋ง ์์ผ๋ฉด ์ข์ํ
๋ฐ ๊ต์ฒด๋๊ธฐ ์ ์ซ์์ ๊ธธ์ด๋งํผ ๊ณต๋ฐฑ์ด ์๊ฒผ์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด์ผํ ๊น์?
const str = 'apple1283902banana1238923orange';
const replacer = (match, offset, string) => {
if(string[offset + 1].match(/\d/)){
return '';
}else{
return ' ';
}
}
const replaceStr = str.replace(/\d/g, replacer);
console.log(replaceStr);
// apple banana orange์์ ์ฝ๋์์ ๋ณด๋ ๊ฒ ์ฒ๋ผ ๊ต์ฒด๋ ๋ฌธ์์ด์ ํจ์ ํํ๋ก ๋๊ฒจ์ค ์ ์์ต๋๋ค. replace๋ ๊ต์ฒด๋ ๋ฌธ์์ด์ด ํจ์ ํํ๋ก ๋๊ฒจ์ก์ ๋ ๋ค์๊ณผ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ค์ ๊ฐ์ง๋๋ค.
(์๋ ํ๋ mdn replace ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ต๋๋ค.)
| ๊ฐ๋ฅํ ์ด๋ฆ | ์ ๊ณต๋๋ ๊ฐ |
|---|---|
| match | ๋งค์น๋ ๋ฌธ์์ด. |
| p1, p2, ... | ์ด ๋ถ๋ถ์ ์๋์ชฝ์์ ์์ธํ๊ฒ ์ค๋ช ํ๊ฒ ์ต๋๋ค. |
| offset | ๋งค์นญ๋ ๋ฌธ์์ด์ ์ธ๋ฑ์ค |
| string | ์กฐ์ฌ๋ ์ ์ฒด ๋ฌธ์์ด (replace๋ฅผ ํธ์ถํย string) |
๋ฐ๋ผ์ replacer์์ match, offset, string์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์, ํ์ฌ ๋งค์นญ๋ ๋ฌธ์์ด์ ๋ค์ ๋ฌธ์๊ฐ ์ซ์๋ผ๋ฉด ๊ณต๋ฐฑ ์๋ ๋ฌธ์์ด โโ์ ๋ฐํํ๊ณ , ์ซ์๊ฐ ์๋๋ผ๋ฉด ๊ณต๋ฐฑ์ ๋ฐํํ๋๋ก ๊ตฌํํด์, ์ฐ์๋๋ ๊ณต๋ฐฑ์ ํ๋๋ก ์ค์์ต๋๋ค.
const replaceStr = str.replace(/\d/g, (match,offset, string)=>string[offset + 1].match(/\d/) ? '':' ');์์ ๊ฐ์ด ๋จ์ํ ํํ๋ ๊ฐ๋ฅํฉ๋๋ค.
[Tips 3] replace์์ ์บก์ณ๋ ๋ฌธ์์ด ๊ฐ์ ธ์ค๊ธฐ
์์์ p1, p2, ... ๋ถ๋ถ์ ๋ํ ์ธ๊ธ์ ํ์์ต๋๋ค. ์ด๊ฒ์ ๋ฐ๋ก ๊ทธ๋ฃนํํ ๋ฌธ์์ด์ ์ฐจ๋ก๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฃนํ๋ฅผ ์์ง ๋ชปํ์๋ ๋ถ๋ค์ ์ผ๋จ์ ๊ทธ๋ฃนํ === ๊ดํธ๋ก ๋ฌถ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์ฃผ์ธ์!!
const str = 'apple1283902banana1238923orange';
const replacer = (match, p1, p2) => {
return ' '+p2;
}
const replaceStr = str.replace(/(\d)+([a-zA-z])/g, replacer);
console.log(replaceStr);๊ฐ์๊ธฐ ์์ฒญ ๊ธด ์ ๊ทํํ์์ด ๋ฑ์ฅํด์ ๋นํฉ์ค๋ฌ์ธ ์๋ ์์ง๋ง ์ค๋ช ์ ๋ฃ๊ณ ๋๋ฉด ๊ทธ๋ค์ง ๋ณต์กํ ๊ฒ์ด ์๋๋ ๊ฒ์ ์๊ฒ ๋์ค๊ฒ๋๋ค๐
(\d)+๋ ์ซ์์ด๋ฉด์ ํ๋ ํน์ ์ฌ๋ฌ๊ฐ๊ฐ ์ฐ์๋ ๋ฌธ์์ด์ ๋งค์นญํ๋ ๊ฒ์
๋๋ค. ([a-zA-z])๋ ์ํ๋ฒณ ๋ฌธ์์ด์ ๋งค์นญํ ๊ฒ์
๋๋ค. ์ด ๋๊ฐ๋ฅผ ์ด์ผ๋ฉด ์ซ์ ์ฌ๋ฌ๊ฐ+์ํ๋ฒณ ํ๋์ ์ผ์นํ๋ ๋ฌธ์์ด์ ์ฐพ๋ ๊ฒ์ธ๋ฐ์. ์์ ์์ ์์๋ โ1283902bโ โ1238923oโ์ด ์ด๊ณณ์ ํด๋นํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๊น ์ค๋ช
ํ๋ฏ์ด ๊ดํธ๋ก ๋ฌถ์ผ๋ฉด ๊ทธ๋ฃนํ๊ฐ ๋๊ณ , ๊ทธ๋ฃนํ๋ ๋ฌธ์๋ค์ p1, p2, ... ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ๋์ด์จ๋ค๊ณ ํ์ฃ ? ์์ ์์ ์์๋ p1์ ๋งค์นญ๋ ์ซ์๊ฐ ๋ค์ด์ค๊ณ , p2์ ๋งค์นญ๋ ๋ฌธ์๊ฐ ๋ค์ด์ต๋๋ค. apple1283902banana ๋ฌธ์์ด์ด๋ผ๊ณ ํ๋ฉด p1 === 1283902 p2 === b ๊ฐ ๋ฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก relacer ํจ์์์ return ' '+p2; ๋ฅผ ๋ฐํํ ๊ฒ์ ๋งค์นญ๋ โ1283902bโ โ1238923oโ๋ฅผ ๊ณต๋ฐฑ + ๋จ์ด ์๊ธ์๋ก ๋ณํํด์ฃผ๋ ๊ฒ์ด ๋ฉ๋๋ค. ์๊น๋ณด๋ค ๋ ๋จ์ํ๊ฒ ์ฌ๋ฌ๊ฐ์ ๊ณต๋ฐฑ์ ํ๋๋ก ์ค์ผ ์ ์์ฃ .
[Tips 4] ์ ๊ทํํ์ ์์ ๋ณ์ ๋ฃ๊ธฐ
๊ฐํน๊ฐ๋ค ๋ฐํ์ ์์์ ๋์ ์ผ๋ก ์ ๊ทํํ์์ ์์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ด ๋ RegExp ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด์ ๋ณ์ ์์ ์๋ ๊ฐ์ผ๋ก ์ ๊ทํํ์์ ์์ฑํ๋ฉด ๋ฉ๋๋ค.
const names = ['milk717','sumin','minsu'];
const str = 'My name is sumin';
const regExp = new RegExp(`/${names.join('|')}/`);
console.log(str.match(regExp)) //[ 'sumin', index: 11, input: 'My name is sumin', groups: undefined ]์์ ์์์ฒ๋ผ ํ์ํ ๋จ์ด๋ค์ ๋ฐฐ์ด์ ๋ฃ์ด๋๊ณ , ๊ทธ ๋จ์ด๋ค์ ์ ๊ทํํ์์์ OR ์ฐ์ฐ์์ ํด๋นํ๋ |๋ก joinํ๋ค๋ฉด /CON|PRN|NUL|โฆ./๊ณผ ๊ฐ์ด ํ๋ํ๋ ์
๋ ฅํ์ง ์๊ณ ์ ๊ทํํ์์ ์์ฑํ ์ ์์ต๋๋ค.
์ ๊ทํํ์ ๊ทธ๋ฃนํ์ ์บก์ณ
์ ๊ทํํ์ ๊ทธ๋ฃนํ์ ์บก์ณ๋ ์ ๊ทํํ์์์ ํน์ ๋ถ๋ถ์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๊ณ , ํด๋น ๊ทธ๋ฃน์ ๋งค์น๋๋ ๋ถ๋ถ์ ์ถ์ถํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฃนํ
ํจํด์ ๊ทธ๋ฃนํํ๊ธฐ ์ํด์๋ ๊ดํธ๋ก ๋ฌถ์ด์ฃผ์ด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ๊ดํธ๋ก ๊ทธ๋ฃนํ๋ ๋ฐฐํด์ ํ๋์ ๋จ์๋ก ์ทจ๊ธ๋ฉ๋๋ค. ์๋ ์์๋ฅผ ํตํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.

์ด๋ ๊ฒ ๊ทธ๋ฃนํํ ํจํด์ ํ๋์ ๋จ์์ฒ๋ผ ์ทจ๊ธํ ์ ์์ต๋๋ค. ๋ง์ฝ ์์ ์์์์ ๊ทธ๋ฃนํ๊ฐ ์๋ค๋ฉด ์ด๋ป๊ฒ ๋์์๊น์?

๊ทธ๋ฃนํ๊ฐ ์์๋ค๋ฉด abc๊ฐ ํ๋์ ๋จ์๋ก ์ทจ๊ธ๋์ง ์๊ณ , ๊ฐ์ ๋ฐ๋ก๋ฐ๋ก ๋ถ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ c ๋จ์ด๋ง ๋ฐ๋ณต ์ฒ๋ฆฌ ๋ผ์ abcccc๋ผ๋ ๋ฌธ์๋ ๋งค์นญ๋ฉ๋๋ค.
์บก์ณ๋ง
๊ดํธ๋ก ๊ทธ๋ฃนํํ ํจํด์ ์บก์ณ๋ง ๋ฉ๋๋ค. ์บก์ณ๋ง๋๋ค๋ ๊ฒ์ ๊ดํธ ์์ ์๋ ํจํด์ผ๋ก ๋งค์น๋๋ ํ ์คํธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ ๊ฒ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ match๋ replace๋ฅผ ํตํด ์บก์ณ๋ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฌธ์ฅ์์ yyyy-mm-dd์ ๋ ์ง๋ฅผ ์ถ์ถํ๋ ์ฝ๋๋ฅผ ํตํด ๊ทธ๋ฃนํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
const str = '๋ด ์์ผ์ 2001-07-17';
const matchRes = str.match(/(\d{4})-(\d{2})-(\d{2})/);
/*
[
'2001-07-17',
'2001',
'07',
'17',
index: 6,
input: '๋ด ์์ผ์ 2001-07-17',
groups: undefined
]
*/match์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐฐ์ด ํํ๋ก ๋ฐํ๋๋๋ฐ, ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค์๋ ๋งค์นญ๋ ๋ฌธ์์ด์ด ์ค๊ณ , ๊ทธ ๋ค์๋ถํฐ ์ฐจ๋ก๋๋ก ๊ทธ๋ฃน๋ณ ์บก์ณ๋ง๋ ๊ฐ์ด ๋ค์ด์ค๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ ๊ทธ๋ฃนํ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ yyyy-mm-dd๋ฅผ ์ถ์ถํ๋ค๋ฉด match ๊ฒฐ๊ณผ๋ ์ด๋ป๊ฒ ๋ ๊น์?
const str = '๋ด ์์ผ์ 2001-07-17';
const matchRes = str.match(/\d{4}-\d{2}-\d{2}/);
console.log(matchRes)
/*
'2001-07-17',
index: 6,
input: '๋ด ์์ผ์ 2001-07-17',
groups: undefined
]
*/๊ฒฐ๊ณผ๋ ์์ ๊ฐ์ด ๋ณํฉ๋๋ค. ์ถ์ถ๋ yyyy-mm-ddํ์์์ ๋ , ์, ์ผ์ ๋ฐ๋ก ํ์ฉํด์ผ ํ ์ผ์ด ์๋ค๋ฉด ๊ทธ๋ฃนํ์ ์บก์ณ๋ง์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๊ทธ๋ฃนํ ํจํด ์์
๋ค์์ ๊ทธ๋ฃนํ๋ฅผ ์ฌ์ฉํด์ ๋ง๋ค ์ ์๋ ์ ๊ทํํ์ ํจํด์
๋๋ค.
์ด๋ฒ ๊ณผ์ ์์ ์ ๊ฐ (?=A)A|B ๋ฅผ ์ฌ์ฉํด ํ์ผ๋ช
๊ณผ ๋๋ ํฐ๋ฆฌ ๋ช
์ ํ๋ฒ์ ํ์ํ๋ ค๊ณ ํ์ผ๋, ์ด๋ฆ์ ํน์๋ฌธ์๊ฐ ์ค๋ ๊ฒฝ์ฐ๋ฅผ ์ถ์ถํ์ง ๋ชปํด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋คใ
ํน์ path์์ name์ ์ถ์ถํ๋ ๋ถ๋ถ์ ํ๋์ ์ ๊ทํํ์์ผ๋ก ์ฒ๋ฆฌํ ์ ๊ทํํ์ ๊ณ ์๋์ด ๊ณ์ ๋ค๋ฉด ์๋ ค์ฃผ์ธ์!
(A)?B: A์กฐ๊ฑด์ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ B์กฐ๊ฑด์ผ๋ก ํ์(A)*B: A์กฐ๊ฑด์ ๋ฌธ์๊ฐ ์๊ฑฐ๋ ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ B์กฐ๊ฑด์ผ๋ก ํ์(?=A)A|B: A์กฐ๊ฑด์ผ๋ก ์ฐ์ ํ์ํ๊ณ , A์กฐ๊ฑด์ด ํ์๋๋ฉด ํ์ ๋ฉ์ถค. A์กฐ๊ฑด์ด ํ์๋์ง ์๋๋ค๋ฉด B์กฐ๊ฑด์ผ๋ก ํ์
์ฐธ๊ณ ๋ฌธ์
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replace
- https://inpa.tistory.com/entry/JS-๐-์ ๊ท์-RegExp-๋๊ตฌ๋-์ดํดํ๊ธฐ-์ฝ๊ฒ-์ ๋ฆฌ
- https://learn.microsoft.com/ko-kr/windows/win32/fileio/naming-a-file
- https://blog.naver.com/PostView.naver?blogId=hankrah&logNo=222197612239&categoryNo=65&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView
- https://regexr.com/