正規表現パターンと一致する文字列から部分文字列を抽出します。swift正規表現と(。*?)
問題はこのコードです:("ytplayer.config = {(.*?)};").exec(responseStringC)
。一致する必要がありますが、nilを返します。
string.exec機能:
extension String {
func exec (str: String) -> Array<String> {
do {
let regex = try NSRegularExpression(pattern: self, options: [.CaseInsensitive,.IgnoreMetacharacters])
let nsstr = str as NSString
let all = NSRange(location: 0, length: nsstr.length)
var matches : Array<String> = Array<String>()
regex.enumerateMatchesInString(str, options: NSMatchingOptions(rawValue: 0), range: all) {
(result : NSTextCheckingResult?, _, _) in
let theResult = nsstr.substringWithRange(result!.range)
matches.append(theResult)
}
return matches
} catch {
print("error")
return Array<String>()
}
}
}
"responseStringC" 変数は次のとおりです。
問題がnilを返すです。どんな手掛かり?
を参照してください。 。 – matt
あなたの問題は何ですか?コンパイル中やアプリの実行中にエラーがありますか? – FelixSFD
リターンnil。合わない。 –