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λ₯Ό 곡λΆν΄λ³΄λ €κ³ νλ€!
μ°Έκ³ ν μ¬μ΄νΈ