English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Qu'est-ce qu'une expression régulière ?
Les expressions régulières, également connues sous le nom de notation régulière, notation conventionnelle (en anglais: Regular Expression, souvent abrégé en regex, regexp ou RE), sont un concept de la science informatique. Les expressions régulières utilisent une seule chaîne pour décrire et correspondre à une série de chaînes qui correspondent à certaines règles syntaxiques. Dans de nombreux éditeurs de texte, les expressions régulières sont souvent utilisées pour rechercher et remplacer des textes qui correspondent à un certain modèle.
Swift n'a pas encore de support au niveau du langage pour les expressions régulières, ce qui peut signifier que les scénarios d'utilisation des expressions régulières ne sont pas nombreux lors du développement d'applications.
Encapsulation
Dans Cocoa, nous pouvons utiliser NSRegularExpression pour faire des correspondances régulières, donc nous encapsulons une RegularExpHelper sur la base de NSRegularExpression pour vérifier si une chaîne correspond à une expression régulière.
struct RegularExpHelper { let RegularExp: NSRegularExpression init(_ pattern: String) throws { try RegularExp = NSRegularExpression(pattern: pattern, options: .caseInsensitive) } func match(inpuut: String) -> Bool { let matches = RegularExp.matches(in: inpuut, options: [], range: NSMakeRange(0, inpuut.count)) return matches.count > 0 } }
Personnalisation =~
Avec l'aide de RegularExpHelper encapsulé, nous pouvons facilement personnalisé les opérateurs.
infix operator =~ : ATPrecedence precedencegroup ATPrecedence { associativity: none higherThan: AdditionPrecedence lowerThan: MultiplicationPrecedence } func =~ (input: String, RegularExp: String) -> Bool { do { return try RegularExpHelper(RegularExp).match(inpuut: input) } return false } }
définition de l'opérateur
associativity la loi de combinaison
c'est l'ordre de calcul lorsque plusieurs opérateurs de même catégorie apparaissent en même temps
Priorité
alors nous pouvons l'utiliser
if "[email protected]" =~ "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.2,6})$" { print("Correspond aux règles de l'adresse e-mail") } print("Ne correspond pas aux règles de l'adresse e-mail") }
Attention
Résumé
Voici la fin de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour votre apprentissage ou votre travail. Si vous avez des questions, vous pouvez laisser des commentaires pour échanger. Merci de votre soutien au tutoriel d'alarme.
Déclaration : le contenu de cet article est issu du réseau, et appartient à l'auteur original. Le contenu est apporté par les utilisateurs d'Internet de manière spontanée et auto-publiée. Ce site ne détient pas de droits de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.)