English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Was ist ein regulärer Ausdruck?
Regulärer Ausdruck, auch bekannt als reguläre Notation, Regulärer Ausdruck (Englisch: Regular Expression, oft abgekürzt als regex, regexp oder RE), ein Konzept in der Informatik. Ein regulärer Ausdruck verwendet eine einzelne Zeichenfolge, um eine Reihe von Zeichenfolgen zu beschreiben, die einer bestimmten Syntax entsprechen. Reguläre Ausdrücke werden in vielen Texteditoren verwendet, um Texte, die einer bestimmten Muster entsprechen, zu suchen und zu ersetzen.
Swift unterstützt bislang nicht auf Sprachebene reguläre Ausdrücke, möglicherweise werden reguläre Ausdrücke in der Entwicklung von Apps nicht oft verwendet.
Verpackung
In Cocoa können wir NSRegularExpression verwenden, um reguläre Ausdrücke zu matchen, daher haben wir auf der Grundlage von NSRegularExpression einen RegularExpHelper entwickelt, um zu prüfen, ob eine Zeichenfolge einem bestimmten regulären Ausdruck entspricht.
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 } }
Benutzerdefinierte =~
Mit dem bereitgestellten RegularExpHelper können wir leicht benutzerdefinierte Operatoren erstellen.
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) } catch _ {}} return false } }
Operatordefinition
Assoziativität
Das ist die Rechenreihenfolge bei der Erscheinung mehrerer ähnlicher Operatoren in der Reihenfolge
Priorität
Dann können wir sie verwenden
if "[email protected]" =~ "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.2,6})$" { print("Der E-Mail-Regel entspricht") } else { print("Nicht der E-Mail-Regel entspricht") }
Beachten Sie
Zusammenfassung
Das ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für Ihre Lern- oder Arbeitsaktivitäten eine gewisse Referenzwertigkeit hat. Wenn Sie Fragen haben, können Sie Kommentare hinterlassen und Austausch betreiben. Vielen Dank für Ihre Unterstützung für die Anleitungshilfe.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetbenutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Diese Website übernimmt keine rechtlichen Verantwortlichkeiten. Wenn Sie Inhalte finden, die möglicherweise Urheberrechtsverletzungen darstellen, senden Sie bitte eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @, wenn Sie eine Meldung senden, und fügen Sie relevante Beweise bei. Sobald überprüft, wird diese Website die涉嫌侵权的Inhalte sofort löschen.)