我们如何匹配字符串模式,例如AA12SS9098的注册号



我试图匹配一个字符串模式,其中包含两个字符,两个数字值,两个字符和四个数字值。有些请帮助我

eg:-ap04st9099

以下是我为此尝试的代码

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

请在下面的正则解决方案。

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

划者一:

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"))

swift 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"))

相关内容

最新更新