λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Java

[Java]μ •κ·œν‘œν˜„μ‹ 정리

λ°˜μ‘ν˜•

μ •κ·œν‘œν˜„μ‹μ΄λž€?

λ¬Έμžμ—΄μ— νŠΉμ •ν•œ νŒ¨ν„΄μ΄ μžˆμ„ λ•Œ ν•΄λ‹Ή νŒ¨ν„΄μ„ μ‹μœΌλ‘œ μ •μ˜ν•˜μ—¬ νŒ¨ν„΄μ— λ§žλŠ” λ¬Έμžμ—΄λ“€μ„ μΆ”μΆœν•  λ•Œ μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯

μ •κ·œν‘œν˜„μ‹ μ‚¬μš©μ΄μœ 

λ¬Έμžμ—΄μ—μ„œ νŠΉμ •ν•œ νŒ¨ν„΄μ„ μ΄μš©ν•΄μ„œ μ‘°μž‘ν•  경우, 쑰건문을 μ‚¬μš©ν•  λ•ŒλŠ” μ½”λ“œκ°€ κΈΈκ³  λ³΅μž‘ν•˜κ²Œ λ˜μ§€λ§Œ
μ •κ·œν‘œν˜„μ‹μ„ μ΄μš©ν•˜λ©΄ κ°„λ‹¨ν•˜κ³  효율적으둜 μž‘μ„±ν•  수 μžˆλ‹€.

기호 정리

기호 μ„€λͺ…
[] ν•œ 개의 문자 [abc] a,b,c쀑 ν•˜λ‚˜μ˜ 문자
[^abc] a,b,c 이외 ν•˜λ‚˜μ˜ 문자
[a-zA-Z] a~z,A~Z쀑 ν•˜λ‚˜μ˜ 문자
\d ν•œ 개의 숫자 [0-9]와 동일 d, s, wλ₯Ό λŒ€λ¬Έμžλ‘œ λ°”κΎΌλ‹€λ©΄ κ·Έ μ΄μ™Έμ˜ 문자λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
ex) \D 숫자 μ΄μ™Έμ˜ 문자
\s 곡백
\w ν•œ 개의 μ•ŒνŒŒλ²³ or ν•œ 개의 숫자 [a-zA-Z_0-9]와 동일
? μ—†μŒ λ˜λŠ” ν•œ 개
* μ—†μŒ λ˜λŠ” ν•œ 개 이상
+ ν•œ 개 이상
{n} μ •ν™•νžˆ n개
{n,} n개 이상
{n,m} nκ°œλΆ€ν„° mκ°œκΉŒμ§€
() κ·Έλ£Ήν•‘
^ λ¬Έμžμ—΄μ˜ μ‹œμž‘
$ λ¬Έμžμ—΄μ˜ μ’…λ£Œ
. μž„μ˜μ˜ ν•œ 문자
^ Not을 의미

 

μ‚¬μš©μ˜ˆμ‹œ

1. μ „ν™”λ²ˆν˜Έ

μ „ν™”λ²ˆν˜Έ μ˜ˆμ‹œλ‘œλŠ” 02-123-1234 or 010-1234-1234 or 031 123 1234 등이 μžˆλ‹€.
이λ₯Ό μ •κ·œμ‹μœΌλ‘œ ν‘œν˜„ν•˜λ©΄ μ•„λž˜μ™€ 같이 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€.
"\d{2,3}(-|\s)\d{3,4}(-|\s)\d{4}"

2. 이메일

이메일 μ˜ˆμ‹œλ‘œλŠ” abc@abcd.com or abc@abcd.ac.kr 등이 μžˆλ‹€
이λ₯Ό μ •κ·œμ‹μœΌλ‘œ ν‘œν˜„ν•˜λ©΄ μ•„λž˜μ™€ 같이 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€.
"\w+@\w+\.\w+(\.\w+)?"

μžλ°” 클래슀 μ‚¬μš©λ°©μ‹

1. Pattern.matches()

이 λ¬Έμžμ—΄μ΄ μ •κ·œμ‹κ³Ό μΌμΉ˜ν•˜λŠ”μ§€ 검증할 λ•Œ

boolean result = Pattern.matches("μ •κ·œμ‹", "검증할 λ¬Έμžμ—΄")

2. String.replaceAll()

λ¬Έμžμ—΄λ‚΄μ—μ„œ μ •κ·œμ‹κ³Ό λ§€μΉ­λ˜λŠ” λͺ¨λ“  λ¬Έμžμ—΄μ„ μ›ν•˜λŠ” λ¬Έμžμ—΄λ‘œ λ°”κΎΌλ‹€.

String.replaceAll("μ •κ·œμ‹", "λ°”κΏ€ λ¬Έμžμ—΄")

λ°˜μ‘ν˜•

'Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Java] μžλ°” μ»¬λ ‰μ…˜ Set  (0) 2022.01.11
[Java] String 클래슀 정리  (0) 2022.01.08
[Java] μƒμ†μ΄λž€?  (0) 2022.01.06
[Java] λ³€μˆ˜μ™€ μžλ£Œν˜•  (0) 2022.01.04
[Java] μžλ°” ArrayList 정리  (0) 2021.09.16