| categories:develop

NSRegularExpression

NSRegularExpressionでのパターンマッチングでドツボ。(NSStringが出てきたりしてちょっと厄介な感じがあります。)

(a)でのmdファイルのパースでちょっとはまりました。強調部分の抜き出しのとこで、nilが戻ってくる。小一時間ぐらいネットをふらつくも手がかりなし。

let pattern = "^(\\*\\*|__)(.*)(\\*\\*|__)$"

let regex = try? NSRegularExpression(pattern: pattern,
                                     options: NSRegularExpressionOptions.CaseInsensitive)
let matches = regex!.firstMatchInString(text,
                                        options: [],
                                        range: NSMakeRange(0, patternStr.utf16.count))
if let match = matches {
            title = (text as NSString).substringWithRange(match.rangeAtIndex(2))
		...
}

で、しらみ潰しで削ったり変更したりして、どうにか、たどり着いたのが、”^“(行頭)を削除。で、動くようになりました。”^“の必要は無いのだけれども、動かなかった理由はわからず。。

let pattern = "(\\*\\*|__)(.*)(\\*\\*|__)$"
comments powered by Disqus