如何匹配像aa12ss9098这样的注册码类型的字符串模式?

时间:2019-05-17 06:13:42

标签: ios swift regex

我正在尝试匹配一个包含两个字符,两个数字值,两个字符和四个数字值的字符串模式。可以请我帮忙

EG:-AP04ST9099

下面是我为此尝试的代码

^\\[a-z]{2}-\\d{2}-\\[a-z]{2}-\\d{4}$

3 个答案:

答案 0 :(得分:0)

请在下面的正则表达式中找到解决方案。

extension String {
    func matches(_ regex: String) -> Bool {
        return self.range(of: regex, options: .regularExpression, range: nil, locale: nil) != nil
    }
}


"AP04ST9099".matches("^[A-Za-z]{2}\\d{2}[A-Za-z]{2}\\d{4}$")//true

答案 1 :(得分:0)

雨燕5 您可以创建一个正则表达式并使用正则表达式确认字符串。 正则表达式:

func isValidValue(passedValue: String) -> Bool {
  let valueRegEx = "^[A-Z]{2}+[0-9]{2}+[A-Z]{2}+[0-9]{4}"

  let valueTest = NSPredicate(format:"SELF MATCHES %@", valueRegEx)

  return valueTest.evaluate(with: passedValue)
}

print(isValidValue(passedValue: "AP04ST9099"))

答案 2 :(得分:0)

排序第一:

func isValidValue(passedValue: String) -> Bool {

    return NSPredicate(format:"SELF MATCHES %@","^[A-Z]{2}+[0-9]{2}+[A-Z]{2}+[0-9]{4}" ).evaluate(with: passedValue)
}

print(isValidValue(passedValue: "AP04ST9099"))