Regulární výrazy, běžně označované jako regex, jsou mocným nástrojem používaným pro porovnávání vzorů a manipulaci s řetězci. Ve světě programování mohou být docela prospěšné, zejména při práci s velkým množstvím dat. V tomto článku se ponoříme hluboko do tvorby regulárního výrazu pro číslo menší než 100 pomocí Swift – robustního a intuitivního programovacího jazyka společnosti Apple.
Začněme řešením.
import Foundation let pattern = "^[1-9][0-9]?$|^100$" let regex = try NSRegularExpression(pattern: pattern) func matches(_ input: String) -> Bool { let range = NSRange(location: 0, length: input.utf16.count) return regex.firstMatch(in: input, options: [], range: range) != nil }
Výše uvedená implementace, i když se zdá být přímočará, vyžaduje komplexní pochopení Swift a Regex. Pojďme si to rozebrat krok za krokem.
První řádek kódu je příkaz importu. Tady, Nadace, jedna z mnoha komplexních knihoven Apple, je importována. Foundation poskytuje širokou škálu možností, včetně manipulace s řetězci a porovnávání vzorů.
Po příkazu import definujeme náš vzor regulárních výrazů. Tento vzor odpovídá jakémukoli jednocifernému nebo dvoucifernému číslu a také číslu 100. Část „^[1-9][0-9]?$“ odpovídá libovolnému dvoumístnému číslu od 10 do 99 a „^100 $“ odpovídá číslu 100.
Dále vytvoříme instanci NSRegularExpression. Toto je výkonná třída dostupná v Foundation, která poskytuje bohaté, flexibilní a Unicode kompatibilní Regex schopnosti Swiftu.
NSRegularExpression a jeho role
- Třída NSRegularExpression je knihovna Swift používaná k reprezentaci a aplikaci regulárních výrazů. Zapouzdřuje vzor a poskytuje metody pro porovnání regulárního výrazu s danými řetězci.
- NSRegularExpression přichází s různými možnostmi, které ovlivňují proces přiřazování. V našem případě však používáme výchozí možnosti.
Nakonec definujeme pomocnou funkci „matches“, která vrátí hodnotu true, pokud se vstupní řetězec shoduje s regulárním výrazem, a v opačném případě vrací hodnotu false.
Porozumění regulárním výrazům ve Swiftu
Pochopení toho, co jsou regulární výrazy a jak je používat, může významně ovlivnit efektivitu vašeho programování Swift. Regulární výraz definuje vyhledávací vzor pro řetězce a lze jej použít ke kontrole, zda řetězec obsahuje zadaný vyhledávací vzor.
Tento kód specifikuje vzor regulárního výrazu pro čísla menší než 100. Poté je zabalen do třídy NSRegularExpression, která nabízí metody a vlastnosti pro efektivní práci s regulárními výrazy.
Jedno NSTextCheckingResult se používá k popisu výsledku shody v NSRegularExpression. V tomto scénáři používáme metodu firstMatch ke zjištění, zda je rozsah první shody regulárního výrazu v zadaném řetězci nula. Pokud není nula, řetězec odpovídá našemu vzoru regulárních výrazů; proto funkce vrací true. V opačném případě, pokud není nalezena žádná shoda (tj. firstMatch vrátí nulu), funkce vrátí false.
Regulární výrazy jsou neuvěřitelně výkonné a lze je vytvořit tak, aby vyhovovaly široké škále potřeb porovnávání vzorů. Mít tento nástroj ve svém programovacím arzenálu výrazně zlepší efektivitu vašich úloh analýzy dat a manipulace s řetězci. Aplikujte třídu Swift NSRegularExpression ještě dnes, abyste efektivně zvládli své potřeby Regex.