Regex
Swifty regular expressions
This is a wrapper for NSRegularExpression
that makes it more convenient and type-safe to use regular expressions in Swift.
Install
Add the following to Package.swift
:
.package(url: "https://github.com/sindresorhus/Regex", from: "0.0.0")
Usage
First, import the package:
import Regex
Examples
Check if it matches:
Regex(#"\d+"#).isMatched(by: "123")
//=> true
Get first match:
Regex(#"\d+"#).firstMatch(in: "123-456")?.value
//=> "123"
Get all matches:
Regex(#"\d+"#).allMatches(in: "123-456").map(\.value)
//=> ["123", "456"]
Replacing first match:
"123🦄456".replacingFirstMatch(of: #"\d+"#, with: "")
//=> "🦄456"
Replacing all matches:
"123🦄456".replacingAllMatches(of: #"\d+"#, with: "")
//=> "🦄"
Named capture groups:
let regex = Regex(#"\d+(?<word>[a-z]+)\d+"#)
regex.firstMatch(in: "123unicorn456")?.group(named: "word")?.value
//=> "unicorn"
switch "foo123" {
case Regex(#"^foo\d+$"#):
print("Match!")
default:
break
}
API
Related
- Defaults - Swifty and modern UserDefaults
- KeyboardShortcuts - Add user-customizable global keyboard shortcuts to your macOS app
- LaunchAtLogin - Add “Launch at Login” functionality to your macOS app
- More…