Development

์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ

JayKim๐Ÿ™‚ 2023. 5. 26. 09:05

์ •๊ทœ ํ‘œํ˜„์‹ ๋ฌธ๋ฒ•

/
(http|https|ftp|telnet|news|mms):\/\/[^\"'\s()]+
/
i
ํŒจํ„ด๊ตฌ๋ถ„์ž ์‹œ์ž‘
์ฐพ์„ ๋ฌธ์ž์—ด์˜ ํŒจํ„ด
ํŒจํ„ด๊ตฌ๋ถ„์ž ๋
ํŒจํ„ด๋ณ€๊ฒฝ์ž

URL ์ฐพ๋Š” ์ •๊ทœ ํ‘œํ˜„์‹ ์˜ˆ์ œ

/(http|https|ftp|telnet|news|mms):\/\/[^\"'\s()]+/i

๋ฉ”ํƒ€ ๋ฌธ์ž

์—ฐ์‚ฐ์ž๋‚˜ ์˜ˆ์•ฝ์–ด๋กœ ์“ฐ์ด๋Š” ๋ฌธ์ž๋ฅผ ์ •๊ทœ ํ‘œํ˜„์‹์—์„œ๋Š” ๋ฉ”ํƒ€ ๋ฌธ์ž๋ผ๊ณ  ํ•จ
๋ฉ”ํƒ€๋ฌธ์ž๋กœ ์ฐพ์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—ญ์Šฌ๋ž˜์‹œ \๋ฅผ ๋ถ™์—ฌ ์ฃผ๋ฉด ๋จ

\ ^ $ . | [ ] ( ) * + ? { }
^ : ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘
$ : ๋ฌธ์ž์—ด์˜ ์ข…๋ฃŒ
. : 1๊ฐœ์˜ ๋ฌธ์ž์™€ ์ผ์น˜
[] : ๋ฌธ์ž ํด๋ž˜์Šค "[" ๊ณผ "]" ์‚ฌ์ด์˜ ๋ฌธ์ž ์ค‘ ํ•˜๋‚˜ ์„ ํƒ
[^ ] : ๋ถ€์ • ๋ฌธ์ž ํด๋ž˜์Šค ์•ˆ์˜ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์„ ํƒ
() : ํ•˜์œ„์‹ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹์„ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.
| : ์„ ํƒ ์—ฌ๋Ÿฌ๊ฐœ ์ค‘์— ์„ ํƒ ํ•œ๋‹ค.

๋ฌธ์ž ์ง‘ํ•ฉ๊ณผ ํŠน์ˆ˜ ๋ฌธ์ž

^ : ํ•ด๋‹น ์ง‘ํ•ฉ์— ํฌํ•จ๋œ ๋ฌธ์ž๋“ค์„ ๊ฒ€์ƒ‰์—์„œ ์ œ์™ธ  
- : ๋ฌธ์ž์™€ ๋ฌธ์ž ์‚ฌ์ด ์žˆ์„ ๊ฒฝ์šฐ ๋ฌธ์ž ์ฝ”๋“œ ๋ฒ”์œ„ ์ง€์ •  
\b: ๋ฌธ์ž์™€ ๊ณต๋ฐฑ ์‚ฌ์ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.  
\c: ์ œ์–ด ๋ฌธ์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค.  
\d: ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ์— ๋Œ€์‘. \[0-9\]์™€ ๋‹ฌ๋ฆฌ ์•„๋ž ๋ฌธ์ž, ํŽ˜๋ฅด์‹œ์•„ ๋ฌธ์ž ๋“ฑ ๋‹ค์–‘ํ•œ ์ˆซ์ž๋ฅผ ํฌ๊ด„ํ•œ๋‹ค.#  
\f: ํผ ํ”ผ๋“œ  
\n: ๊ฐœํ–‰ ๋ฌธ์ž  
\s: ๊ณต๋ฐฑ ๋ฌธ์ž  
\t: ํƒญ ๋ฌธ์ž  
\v: ์ˆ˜์ง ํƒญ  
\w: ๋‹จ์–ด ์˜๋ฌธ์ž+์ˆซ์ž+\_(๋ฐ‘์ค„) \[0-9a-zA-Z\_\]  
\x: 16์ง„์ˆ˜ ๊ฐ’  
\0: 8์ง„์ˆ˜ ๊ฐ’

์ˆ˜๋Ÿ‰์ž

{n} : ์ •ํ™•ํžˆ n๋ฒˆ ๋ฐ˜๋ณตํ• ๋•Œ ์ผ์น˜ํ•œ๋‹ค.
{n,} : n๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณตํ• ๋•Œ ์ผ์น˜ํ•œ๋‹ค.
{n,m} : n๋ฒˆ์—์„œ m๋ฒˆ ์•ˆ์œผ๋กœ ๋ฐ˜๋ณตํ• ๋•Œ ์ผ์น˜ํ•œ๋‹ค.
* : ํŒจํ„ด์ด ์ผ์น˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ํ•œ๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณตํ• ๋•Œ ์ผ์น˜ํ•œ๋‹ค. {0,}๊ณผ ๊ฐ™๋‹ค.
+ : ํŒจํ„ด์ด ํ•œ๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณตํ• ๋•Œ ์ผ์น˜ํ•œ๋‹ค. {1,}๊ณผ ๊ฐ™๋‹ค.
? : ํŒจํ„ด์ด ์ผ์น˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ํ•œ๋ฒˆ๋งŒ ๋ฐ˜๋ณตํ• ๋•Œ ์ผ์น˜ํ•œ๋‹ค. {0,1}๊ณผ ๊ฐ™๋‹ค.

ํŒจํ„ด ๋ณ€๊ฒฝ์ž

  • i: ํŒจํ„ด์„ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ๊ฒ€์‚ฌํ•œ๋‹ค.
  • s: ์ž„์˜์˜ ํ•œ ๋ฌธ์ž๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” . ๋ฉ”ํƒ€ ๋ฌธ์ž์— ๊ฐœํ–‰ ๋ฌธ์ž(\n)๋„ ํฌํ•จ์‹œํ‚ค๋„๋ก ํ•œ๋‹ค.
  • g: ^๋ฌธ์ž๊ฐ€ ๋ฌธ์žฅ์ด ์•„๋‹Œ ๋ฌธ์„œ์˜ ์ฒ˜์Œ์—, $ ๋ฌธ์ž๊ฐ€ ๋ฌธ์žฅ์˜ ๋์ด ์•„๋‹Œ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๋์— ๋งค์น˜๋˜๊ฒŒ ๋ณ€๊ฒฝ
  • m: ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์— ์ค„๋ฐ”๊ฟˆ์ด ์žˆ์„ ๊ฒฝ์šฐ, ์—ฌ๋Ÿฌ ์ค„๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ๊ฒ€์‚ฌํ•œ๋‹ค.
  • x: ๊ณต๋ฐฑ ๋ฌธ์ž๋ฅผ ๋ฌด์‹œํ•œ๋‹ค.

์˜ˆ์ œ

  • ^[0-9]*$: ์ˆซ์ž
  • ^[a-zA-Z]$: ์˜๋ฌธ์ž. ํŒจํ„ด๋ณ€๊ฒฝ์ž๋ฅผ ์จ์„œ /^[a-z]$/i ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ^[๊ฐ€-ํžฃ]*$: ํ˜„๋Œ€ ํ•œ๊ธ€(์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์ •๊ทœ์‹ ์—”์ง„์— ํ•œ์ •)
  • ^[ใ„ฑ-ใ…Žใ…-ใ…ฃ๊ฐ€-ํžฃ]*$: ํ•œ๊ธ€ ์ž๋ชจ ๋‚ฑ์ž๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํ˜„๋Œ€ ํ•œ๊ธ€
  • ^[a-zA-Z0-9]*$: ์˜๋ฌธ/์ˆซ์ž

์ •๊ทœ ํ‘œํ˜„์‹ ํ…Œ์ŠคํŠธ

https://regexr.com/

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

๋ฐ˜์‘ํ˜•