欢迎加入QQ讨论群258996829

Swift 用函数实现正则表达式的库 SwiftVerbalExpressions

发布时间:2017-03-06 22:43  回复:0  查看:3759  感兴趣:19  赞:1   最后回复:2017-03-06 22:43  

SwiftVerbalExpressions 是一个Swift库,可以通过函数的方式实现复杂的正则表达式功能。从JavaScript的版本JSVerbalExpressions移植。

这里有几个简单的例子来了解VerbalExpressions的工作原理:

检查网址是否有效

// Create an example of how to test for correctly formed URLs
let tester = VerEx()
    .startOfLine()
    .then("http")
    .maybe("s")
    .then("://")
    .maybe("www")
    .anythingBut(" ")
    .endOfLine()

// Create an example URL
let testMe = "https://www.google.com"

// Use test() method
if tester.test(testMe) {
    println("We have a correct URL") // This output will fire
}
else {
    println("The URL is incorrect")
}

// Use =~ operator
if testMe =~ tester {
    println("We have a correct URL") // This output will fire
}
else {
    println("The URL is incorrect")
}

println(tester) // Outputs the actual expression used: "^(?:http)(?:s)?(?::\/\/)(?:www)?(?:[^ ]*)$"
替换字符串
let replaceMe = "Replace bird with a duck"

// Create an expression that seeks for word "bird"
let verEx = VerEx().find("bird")

// Execute the expression like a normal RegExp object
let result = verEx.replace(replaceMe, with: "duck")

println(result) // Outputs "Replace duck with a duck"
替换字符串简写方式
let result2 = VerEx().find("red").replace("We have a red house", with: "blue")

println(result2) // Outputs "We have a blue house"
API文档

可以查看JavaScript版本的API文档


相关开源代码

您还未登录,请先登录

热门帖子

最新帖子