Swiftμμ \
(μ μ¬λμ¬)λ μ°μ°μ μν μ νλ―λ‘,
\
λ₯Ό λ¬Έμ μμ²΄λ‘ μ¬μ©νκ³ μΆμ λ! \\
μ΄λ κ² λ κ°λ‘ μ¬μ©ν΄μΌνλ€!
let regex = "[0-9]"
let check = "abcdefg".range(of: regex, options: .regularExpression) != nil
// μΆλ ₯ κ° : false
μ΄λ κ² λ¬Έμ μΌλΆκ° μΌμΉνλ μ§ νμΈν μ μλ€.
λ¬Έμ λ²μλ[]
(λ κ΄νΈ)λ₯Ό μ¬μ©νλ€.
let regex = "^[0-9]&"
let test1 = "123".range(of: regex, options: .regularExpression) != nil
let test2 = "a12".range(of: regex, options: .regularExpression) != nil
let test3 = "abc".range(of: regex, options: .regularExpression) != nil
let test4 = "!@123".range(of: regex, options: .regularExpression) != nil
// true false false false
λ¬Έμμ΄ μ λΆ μΌμΉλ μ΅μ»€λ₯Ό μ¬μ©νλ€.
μμ μ΅μ»€ : ^
λ μ΅μ»€ : &
λͺ¨λ λ¬Έμμ΄μ *
λ₯Ό μ¬μ©νλ€.
let regex = "[κ°-ν£γ±-γ
γ
-γ
£a-zA-Z0-9]"
let test1 = "1".range(of: regex, options: .regularExpression) != nil
let test2 = "κ°".range(of: regex, options: .regularExpression) != nil
let test3 = "abc".range(of: regex, options: .regularExpression) != nil
let test4 = "!".range(of: regex, options: .regularExpression) != nil
// true true true false
let regex = "^.*([κ°-ν£γ±-γ
γ
-γ
£a-zA-Z0-9])+.*$"
let test1 = "1".range(of: regex, options: .regularExpression) != nil
let test2 = "κ°".range(of: regex, options: .regularExpression) != nil
let test3 = "!".range(of: regex, options: .regularExpression) != nil
let test4 = "!abc".range(of: regex, options: .regularExpression) != nil
// true true false true
.*
ν€μλλ₯Ό μ΄μ©νλ©΄ μλ€μ μ΄λ€ λ¬Έμκ° μλ μκ΄ μκ³ , 무쑰건 μ€κ°μ λ¬Έμμ΄λ§ ν¬ν¨
.*
κ³Ό .*
μ¬μ΄μ [(μ κ·μ)]+
μ λ£μ΄μ ꡬν
let regex = "^01[0-1,7][0-9]{7,8}&"
let test1 = "01012345678".range(of: regex, options: .regularExpression) != nil
let test2 = "0112345678".range(of: regex, options: .regularExpression) != nil
let test3 = "01312345678".range(of: regex, options: .regularExpression) != nil
let test4 = "1234".range(of: regex, options: .regularExpression) != nil
// true true false false
[]
λ¬Έμμ΄ μμ μ¬λ¬κ°μ or 쑰건μ μ€ μ μλ€. [0-1,7]
: 0λΆν° 1μ΄λ 7κ°
{}
μ€κ΄νΈ μμ μμ λ¬Έμμ΄ κ°―μμ λ²μ μ€μ κ°λ₯! {7,8}
: 7~8μ리
κΈ°νΈλ‘λ μ€μ¬μ μ¬μ©μ΄ κ°λ₯νλ€.
*
= {0,}
0μ΄μ
+
= {1,}
1μ΄μ
?
= {0,1}
0μ΄μ 1μ΄ν
let regex = "^([a-zA-Z0-9])+@[a-zA-Z]+//.[a-z]{3,20}&"
let test1 = "adsw.com".range(of: regex, options: .regularExpression) != nil
let test2 = "maks@naver.com".range(of: regex, options: .regularExpression) != nil
let test3 = "maskdkk@Nav#@er.com".range(of: regex, options: .regularExpression) != nil
let test4 = "maksdk@naver.123".range(of: regex, options: .regularExpression) != nil
//false true false false
{}
μ€κ΄νΈ μμ λμ΄μ°κΈ°νλ©΄ μλ¨.
λκ΄νΈ μ¬μ΄μ λ¬Έμκ° λ€μ΄κ°λ©΄ +
λ‘ μ°κ²°ν΄μΌνλ€.
+
λ‘ μ°κ²°λλ©΄ λ
립μ μΌλ‘ μΈμλμ΄ λ§μ§λ§ μ μΈν {3,20}
μ΄ +
μ΄νμ μ μ©λ¨
μ€λμ μ΄λ κ² μΈκ³μ΄κ°μ μ κ·μμ μμ보μλ€!
μ²μμλ μ΄λ €μ μ§λ§ 곡λΆλ₯Ό νκ³ λ³΄λ€λ³΄λ λ§μ΄ μ΄ν΄κ° λλ κ±° κ°λ€!
λ€μμλ RegexBuilderλ₯Ό 곡λΆν΄λ³΄λ €κ³ νλ€!
μ°Έκ³ ν μ¬μ΄νΈ