

Rexy is a pure Swift implementation of POSIX Regular Expressions.
Features
Usage
Pattern matching
When you want to check if a given string matches regular expression:
import Rexy
// Regular way
do {
let regex = try Regex("Tyrannosaurus")
regex.isMatch("Tyrannosaurus") // => true
regex.isMatch("Spinosaurus") // => false
} catch {
print(error)
}
// With custom operators
"Tyrannosaurus" =~ "T.*" // true
"Spinosaurus" =~ "T.*" // false
"Spinosaurus" !~ "T.*" // true
Matches
When you want to search an input string for all occurrences of a regular
expression and get the matches:
import Rexy
do {
let regex = try Regex("[a-z]+")
regex.matches("a1b1") // ["a", "b"])
} catch {
print(error)
}
When you’re interested only in the first occurrence:
import Rexy
do {
let regex = try Regex("[a-z]+")
regex.matches("a1b1") // "a"
} catch {
print(error)
}
Capturing Groups
When you want to match and capture groups:
import Rexy
do {
let regex = try Regex("(Tyrannosaurus) (Rex)")
regex.groups("Tyrannosaurus Rex") // => ["Tyrannosaurus", "Rex"]
regex.groups("Spinosaurus") // => []
} catch {
print(error)
}
Replace
When you want to replace all strings that match a regular expression pattern
with a specified replacement string:
import Rexy
do {
let regex = try! Regex("Tyrannosaurus")
regex.replace("Tyrannosaurus Rex Tyrannosaurus", with: "Dinosaur") // => "Dinosaur Rex Dinosaur"
regex.replace("Spinosaurus", with: "Dinosaur") // => Spinosaurus
} catch {
print(error)
}
Installation
Rexy
is available through Swift Package Manager.
To install it, simply add the following lines to your Package.swift
:
.Package(url: "https://github.com/vadymmarkov/Rexy.git", versions: Version(0,1,0)..<Version(1,0,0))
Alternatively, you can install it in your Xcode project by adding a Swift package dependency.
Author
Vadym Markov, markov.vadym@gmail.com
Credits
Credits for inspiration go to POSIXRegex
by Zewo
Contributing
Check the CONTRIBUTING
file for more info.
License
Rexy is available under the MIT license. See the LICENSE file for more info.
Rexy is a pure Swift implementation of POSIX Regular Expressions.
Features
cflag
) and regex matching flags (eflag
)Usage
Pattern matching
When you want to check if a given string matches regular expression:
Matches
When you want to search an input string for all occurrences of a regular expression and get the matches:
When you’re interested only in the first occurrence:
Capturing Groups
When you want to match and capture groups:
Replace
When you want to replace all strings that match a regular expression pattern with a specified replacement string:
Installation
Rexy
is available through Swift Package Manager. To install it, simply add the following lines to yourPackage.swift
:Alternatively, you can install it in your Xcode project by adding a Swift package dependency.
Author
Vadym Markov, markov.vadym@gmail.com
Credits
Credits for inspiration go to POSIXRegex by Zewo
Contributing
Check the CONTRIBUTING file for more info.
License
Rexy is available under the MIT license. See the LICENSE file for more info.