๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ์–ธ์–ด/JAVA

[Java] ์ž๋ฐ” ์ •๊ทœํ‘œํ˜„์‹ ๋ชจ์Œ

by yunamom 2022. 4. 18.
728x90
300x250

์ •๊ทœํ‘œํ˜„์‹

๐ŸŒผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ •๊ทœ ํ‘œํ˜„์‹ ๐ŸŒผ

์ •๊ทœ ํ‘œํ˜„์‹ ์„ค๋ช…
^[0-9]*$ ์ˆซ์ž
^[a-zA-Z]*$ ์˜๋ฌธ์ž
^[๊ฐ€-ํžฃ]*$ ํ•œ๊ธ€
\\w+@\\w+\\.\\w+(\\.\\w+)? E-mail
^[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-z]+$ E-mail
^\d{2,3}-\d{3,4}-\d{4}$ ์ „ํ™”๋ฒˆํ˜ธ
^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$ ํœด๋Œ€์ „ํ™”๋ฒˆํ˜ธ
\d{6}\-[1-4]\d{6} ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ
^\d{3}-\d{2}$ ์šฐํŽธ๋ฒˆํ˜ธ

 

๐ŸŒผ ๋งค์นญ๋  ๋ฌธ์ž๋ฅผ ์ง€์ •/์ œ์™ธํ•˜๋Š” ํ‘œํ˜„์‹ ๐ŸŒผ

์ •๊ทœ ํ‘œํ˜„์‹ ์„ค๋ช…
[abc] a, b, c ์ค‘ ํ•˜๋‚˜์ด๋ฉด ์ผ์น˜
[^abc] a, b, c ๋ฅผ ์ œ์™ธํ•œ ๊ธ€์ž ์ด๋ฉด ์ผ์น˜
[a-zA-z] a ๋ถ€ํ„ฐ z๊นŒ์ง€์˜ ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ ์ด๊ฑฐ๋‚˜ A ๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ ์ค‘์˜ ํ•˜๋‚˜๋ผ๋ฉด ์ผ์น˜(๋ฒ”์œ„)
[a-d[m-p]] a ๋ถ€ํ„ฐ d๊นŒ์ง€, ๋˜๋Š” m ๋ถ€ํ„ฐ p๊นŒ์ง€ ์ค‘์— ํ•˜๋‚˜์™€ ์ผ์น˜ : [a-dm-p] (ํ•ฉ์ง‘ํ•ฉ)
[a-z&&[def]] d, e, f ์ค‘์˜ ํ•˜๋‚˜์™€ ์ผ์น˜ (๊ต์ง‘ํ•ฉ)
[a-z&&[^bc]] b์™€ c๋ฅผ ์ œ์™ธํ•œ a ๋ถ€ํ„ฐ z๊นŒ์ง€ ์ค‘์˜ ํ•˜๋‚˜์™€ ์ผ์น˜ : [ad-z] (์ฐจ์ง‘ํ•ฉ)
[a-z&&[^m-p]] m๋ถ€ํ„ฐ p๊นŒ์ง€๋ฅผ ์ œ์™ธํ•œ, a๋ถ€ํ„ฐ z๊นŒ์ง€ ์ค‘์˜ ํ•˜๋‚˜์™€ ์ผ์น˜ : [a-lq-z] (์ฐจ์ง‘ํ•ฉ)

๐ŸŒผ ์ •๊ทœํ‘œํ˜„์‹ ๋ฌธ๋ฒ• ๐ŸŒผ

์ •๊ทœ ํ‘œํ˜„์‹ ์„ค๋ช…
[]
ํ•œ ๊ฐœ์˜ ๋ฌธ์ž
[abc] a,b,c์ค‘ ํ•˜๋‚˜์˜ ๋ฌธ์ž
[^abc] a,b,c ์ด์™ธ ํ•˜๋‚˜์˜ ๋ฌธ์ž - NOT
[a-zA-Z] a~z, A~Z์ค‘ ํ•˜๋‚˜์˜ ๋ฌธ์ž
^ ๋ฌธ์ž์—ด ์‹œ์ž‘
$ ๋ฌธ์ž์—ด ์ข…๋ฃŒ
. ์ž„์˜์˜ ํ•œ ๋ฌธ์ž(๋‹จ \์€ ๋„ฃ์„ ์ˆ˜ ์—†์Œ)
* ์•ž ๋ฌธ์ž๊ฐ€ ์—†์„ ์ˆ˜๋„ ๋ฌดํ•œ์ • ๋งŽ์„ ์ˆ˜๋„ ์žˆ์Œ
+ ์•ž ๋ฌธ์ž๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ
? ์•ž ๋ฌธ์ž๊ฐ€ ์—†๊ฑฐ๋‚˜ ํ•˜๋‚˜ ์žˆ์Œ
{} ํšŸ์ˆ˜ ๋˜๋Š” ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
() ์†Œ๊ด„ํ˜ธ ์•ˆ์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋กœ ์ธ์‹
| ํŒจํ„ด ์•ˆ์—์„œ or ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ
\ ์ •๊ทœ ํ‘œํ˜„์‹ ์—ญ์Šฌ๋ž˜์‹œ(\)๋Š” ํ™•์žฅ๋ฌธ์ž(์—ญ์Šฌ๋ž˜์‹œ ๋‹ค์Œ์— ์ผ๋ฐ˜ ๋ฌธ์ž๊ฐ€ ์˜ค๋ฉด ํŠน์ˆ˜๋ฌธ์ž๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  ์—ญ์Šฌ๋ž˜์‹œ ๋‹ค์Œ์— ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์˜ค๋ฉด ๊ทธ ๋ฌธ์ž ์ž์ฒด๋ฅผ ์˜๋ฏธ)
\b ๋‹จ์–ด์˜ ๊ฒฝ๊ณ„
\B ๋‹จ์–ด๊ฐ€ ์•„๋‹Œ๊ฒƒ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ„
\A ์ž…๋ ฅ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„
\G ์ด์ „ ๋งค์น˜์˜ ๋
\Z ์ž…๋ ฅ์˜ ๋์ด์ง€๋งŒ ์ข…๊ฒฐ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
\z ์ž…๋ ฅ์˜ ๋
\s ๊ณต๋ฐฑ ๋ฌธ์ž : [\t\n\x0B\f\r]
\S ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ์•„๋‹Œ ๋‚˜๋จธ์ง€ ๋ฌธ์ž : [^\s]
\w ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ˆซ์ž : [a-zA-Z_0-9]
\W ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ˆซ์ž๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž
\d ์ˆซ์ž [0-9] ์™€ ๋™์ผ
\D ์ˆซ์ž๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฌธ์ž : [^0-9]
(?i) ์•ž ๋ถ€๋ถ„์— (?!)๋ผ๋Š” ์˜ต์…˜์„ ๋„ฃ์–ด์ฃผ๊ฒŒ ๋˜๋ฉด ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐ŸŒผ ์ •๊ทœ์‹ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๐ŸŒผ

์ •๊ทœ ํ‘œํ˜„์‹์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ž๋ฐ” API java.util.regex ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

public class test {

	public static void main(String[] args){
    
    	/*
        () ์†Œ๊ด„ํ˜ธ ์•ˆ์˜ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ํฌํ•จ (๊ทธ๋ฃนํ™”) ํ•˜๋Š” ๋ฌธ์ž์—ด
        ์˜ˆ) (xy) xy๊ฐ€ ๊ทธ๋Œ€๋กœ ํฌํ•จ๋œ ๋ฌธ์ž์—ด
        
        ^ : ์‹œ์ž‘
        . : ์ค„๋ฐ”๊ฟˆ์„ ์ œ์™ธํ•œ ์ž„์˜์˜ ํ•œ ๋ฌธ์ž๋ฅผ ์˜๋ฏธ
        + : ์•ž์˜ ํ‘œํ˜„์‹ 1ํšŒ ์ด์ƒ ์ผ์น˜
        & : ๋ฌธ์ž์—ด์˜ ์ข…๋ฃŒ๋ฅผ ์˜๋ฏธ
        */
        String reg = "^(์œ ๋‚˜ ).+$";
        
        String test1 = "์œ ๋‚˜ ";
        String test2 = "๊ณต์ฃผ๋‹˜ ์œ ๋‚˜ ";
        String test3 = "์œ ๋‚˜ ๊ณต์ฃผ๋‹˜.";
        
        System.out.println(test1.matches(reg)); // false
        System.out.println(test2.matches(reg)); // false
        System.out.println(test3.matches(reg)); // true
    }
}

 

728x90
300x250

์ฝ”๋“œ