ν¨ν΄(νν)
^ab / ab$
μ€ μμμ μλ abμ μΌμΉ / μ€ λμ μλ abμ μΌμΉ
let str = `
010-1234-5678
kurt5451@naver.com
https://www.omdbapi.com/?apikey=7035c60c&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
d
hxyp
http://localhost:1234
λν΄λ¬Όκ³Ό_λ°±λμ°μ΄ λ§λ₯΄κ³ λ³λλ‘ νλλμ΄ λ³΄μ°νμ¬
`
console.log(
str.match(/d$/gm) // ['d', 'd']
)
console.log(
str.match(/^k/gm) // ['k']
)
$(λ¬λ¬) κΈ°νΈλ ν μ€λ§λ€ λ¬Έμ₯ λμ dκ° μλ κ²μ μ°Ύλ ν¨ν΄μ΄λ€. dκ° λμ μλ κ²½μ°λ λ κ°μ§κ° μλ€.
λ§μ°¬κ°μ§λ‘ ^(μΊλΏ) κΈ°νΈλ ν μ€λ§λ€ λ¬Έμ₯ μμμ kκ° μλ κ²μ μ°Ύλ ν¨ν΄μ΄λ€. kλ‘ μμνλ μΌμ΄μ€λ ν κ°μ§ λ°μ μλ€.
. / a|b / ab?
.(λ§μΉ¨ν): μμμ ν λ¬Έμμ μΌμΉ
|(λ²ν°μ»¬λ°): a λλ bμ μΌμΉ
?(λ¬Όμν): bκ° μκ±°λ bμ μΌμΉ
console.log(
str.match(/./g) // [' ', '0', '1', '0', '-', '1', '2', '3', '4', '-', '5', '6', '7', '8', 'k', 'u', 'r', 't', '5', '4', '5', '1', '@', 'n', 'a', 'v', 'e', 'r', '.', 'c', 'o', 'm', 'h', 't', 't', 'p', 's', ':', '/', '/', 'w', 'w', 'w', '.', 'o', 'm', 'd', 'b', 'a', 'p', 'i', '.', 'c', 'o', 'm', '/', '?', 'a', 'p', 'i', 'k', 'e', 'y', '=', '7', '0', '3', '5', 'c', '6', '0', 'c', '&', 's', '=', 'f', 'r', 'o', 'z', 'e', 'n', 'T', 'h', 'e', ' ', 'q', 'u', 'i', 'c', 'k', ' ', 'b', 'r', 'o', 'w', 'n', ' ', 'f', 'o', 'x', …]
// μμμ ν λ¬Έμμ μΌμΉνλ κ²μ μ°Ύλλ€.
)
console.log(
str.match(/h..p/g) // ['http', 'hxyp', 'http']
// hλ‘ μμνκ³ pλ‘ λλλ λͺ¨λ λ¬Έμλ₯Ό μ°Ύλλ€.
)
console.log(
str.match(/fox|dog/g) // ['fox', 'dog']
// fox λλ dogλ₯Ό μ°Ύλλ€.
)
console.log(
str.match(/https?/g) // ['https', 'http']
// httpλ λκ°μ΄ μ‘΄μ¬νμ§λ§ sκ° μλ κ²κ³Ό μλ κ²μ μ°Ύλλ€.
)
{3} / {3,} / {3, 5}
3κ° μ°μ μΌμΉ / 3κ° μ΄μ μ°μ μΌμΉ / 3κ° μ΄μ 5κ° μ΄ν(3κ° ~ 5κ°) μ°μ μΌμΉ
console.log(
str.match(/d{2}/g) // ['dd', 'dd']
// dκ° 2κ° μ°μμΌλ‘ μλ λ¬Έμλ₯Ό μ°Ύλλ€.
)
console.log(
str.match(/d{2,}/g) // ['dddd']
// dκ° 2κ° μ΄μ μ°μμΌλ‘ μλ λ¬Έμλ₯Ό μ°Ύλλ€.
)
console.log(
str.match(/\b\w{2,3}\b/g) // ['010', 'com', 'www', 'com', 'The', 'fox', 'the', 'dog']
// 63κ°μ λ¬Έμμ μΌμΉνλ κ²μ΄ λμ΄μ°κΈ° κ²½κ³κ° μκ³ 2κ° μ°μ μ΄μ 3κ° μ°μ μ΄ν μλ κ²μ λͺ¨λ μ°Ύλλ€.
)
[abc] / [a-z] / [A-Z] / [0-9] / [κ°-ν£]
a λλ b λλ c / aλΆν° z μ¬μ΄μ λ¬Έμ ꡬκ°μ μΌμΉ (μμ΄ μλ¬Έμ) / AλΆν° Z μ¬μ΄μ λ¬Έμ ꡬκ°μ μΌμΉ (μμ΄ λλ¬Έμ) / 0λΆν° 9 μ¬μ΄μ λ¬Έμ ꡬκ°μ μΌμΉ(μ«μ) / κ°λΆν° ν£ μ¬μ΄μ λ¬Έμ ꡬκ°μ μΌμΉ(νκΈ)
console.log(
str.match(/[fox]/g)
// ['o', 'o', 'o', 'f', 'o', 'o', 'f', 'o', 'x', 'o', 'o', 'x', 'o', 'o']
f, o, x λ¨μ΄λ₯Ό λͺ¨λ μ°Ύλλ€.
)
console.log(
str.match(/[0-9]{1,}/g)
// ['010', '1234', '5678', '5451', '7035', '60', '1234']
// 0λΆν° 9 κΉμ§μ μ«μκ° μ°μμ μΌλ‘ μλ λͺ¨λ λ¨μ΄λ₯Ό μ°Ύλλ€.
)
console.log(
str.match(/[κ°-ν£]{1,}/g)
// ['λν΄λ¬Όκ³Ό', 'λ°±λμ°μ΄', 'λ§λ₯΄κ³ ', 'λ³λλ‘', 'νλλμ΄', '보μ°νμ¬']
// νκΈμ΄ μ°μμ μΌλ‘ μλ λͺ¨λ λ¨μ΄λ₯Ό μ°Ύλλ€.
)
\w / \b / \d / \s
63κ° λ¬Έμμ μΌμΉ / 63κ° λ¬Έμμ μΌμΉνμ§ μλ λ¬Έμμ κ²½κ³ / μ«μμ μΌμΉ / 곡백μ μΌμΉ
console.log(
str.match(/\w/g)
// ['0', '1', '0', '1', '2', '3', '4', '5', '6', '7', '8', 'k', 'u', 'r', 't', '5', '4', '5', '1', 'n', 'a', 'v', 'e', 'r', 'c', 'o', 'm', 'h', 't', 't', 'p', 's', 'w', 'w', 'w', 'o', 'm', 'd', 'b', 'a', 'p', 'i', 'c', 'o', 'm', 'a', 'p', 'i', 'k', 'e', 'y', '7', '0', '3', '5', 'c', '6', '0', 'c', 's', 'f', 'r', 'o', 'z', 'e', 'n', 'T', 'h', 'e', 'q', 'u', 'i', 'c', 'k', 'b', 'r', 'o', 'w', 'n', 'f', 'o', 'x', 'j', 'u', 'm', 'p', 's', 'o', 'v', 'e', 'r', 't', 'h', 'e', 'l', 'a', 'z', 'y', 'd', 'o', …]
// λͺ¨λ λ¬Έμλ₯Ό μ°Ύλλ€.
)
console.log(
str.match(/\b/g)
// ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
// λͺ¨λ 곡백μ μ°Ύλλ€.
)
console.log(
str.match(/\bf\w{1,}\b/g) // μλ¬Έμ fλ‘ μμνλ λ¨μ΄λ₯Ό μ°Ύλλ€.
// ['frozen', 'fox']
)
console.log(
str.match(/\d{1,}/g)
// ['010', '1234', '5678', '5451', '7035', '60', '1234']
// 곡백μ κ²½κ³λ‘ ν μ«μλ₯Ό μ°Ύλλ€.
)
const h = ` the hello world !`
console.log(
h.replace(/\s/g, '') // 곡백μ μ°Ύμ 곡백μ μμ€λ€.
)
// thehelloworld!
(?=) / (?<=)
μμͺ½ μΌμΉ / λ€μͺ½ μΌμΉ
console.log(
str.match(/.{1,}(?=\@)/g) // ['kurt5451']
// @ μμ μλ λ¬Έμλ€μ μΆλ ₯νλ€.
)
console.log(
str.match(/(?<=\@).{1,}/g) // ['naver.com']
// @ λ€μ μλ λ¬Έμλ€μ μΆλ ₯νλ€.
)
μ κ·ννμ μ΄ λ³΅μ΅ μ£Όμ
μ κ·ννμμ λν μ¬νκ» νλ λ΄μ©μ μ΄ μ 리ν΄λμ README νμΌ
https://github.com/JAEMINKWAK/regexp-test
GitHub - JAEMINKWAK/regexp-test
Contribute to JAEMINKWAK/regexp-test development by creating an account on GitHub.
github.com
'π€ Language > π¨ JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JS. μ κ·ννμ νλκ·Έ(μ΅μ ) (0) | 2022.02.27 |
---|---|
JS. μ κ·ννμ λ©μλ(method) (0) | 2022.02.27 |
JS. μ κ·μ μμ± (0) | 2022.02.27 |
JS. μ κ·ννμ(Regex) (0) | 2022.02.27 |
JS. OMDB API (0) | 2022.02.27 |