我是新來的Swift,我想做一些正則表達式來檢查一個字符串是否與特定模式匹配。iOS Swift正則表達式,如何匹配一個字符串?
我有這個網址:
http://server.com/folder/image_09.jpg
URL也可以是:
http://server.com/folder/image.jpg
我要檢查,如果字符串匹配該模式:
sometext + _two characters + .jpg
我是新來的Swift,我想做一些正則表達式來檢查一個字符串是否與特定模式匹配。iOS Swift正則表達式,如何匹配一個字符串?
我有這個網址:
http://server.com/folder/image_09.jpg
URL也可以是:
http://server.com/folder/image.jpg
我要檢查,如果字符串匹配該模式:
sometext + _two characters + .jpg
你的搜索模式可能是"_\w{2}\.jpg$"
let regExp = NSRegularExpression(pattern: "_\\w{2}\\.jpg$", options: NSRegularExpressionOptions.CaseInsensitive, error: nil)
let urlString = "http://www.foo.it/image_00.jpg"
let range = NSRange(location: 0, length: count(urlString.utf16))
if let numberMatches = regExp?.numberOfMatchesInString(urlString, options: NSMatchingOptions(0), range: range)
where numberMatches == 1 {
let s = "OK"
} else {
let s = "No matches found"
}
希望這會有幫助
'count(urlString .utf8)'應該是'(urlString作爲NSString).length'或'count(urlString.utf16)',否則它會崩潰爲包含非ASCII字符的字符串,例如'urlString =「http://www.foo.it/äöüimage_00.jpg」'。比較http://stackoverflow.com/a/27880748/1187415。 –
@MartinR編輯。由於通常的url來自utf8編碼的頁面,所以沒有考慮它。謝謝 –
你試過什麼樣的正則表達式?結果是什麼?正則表達式的特定部分阻止了你? –
也嘗試過:「。+ _/w {2} [。] jpg」 –
ICU用戶指南:[正則表達式] – zaph