Cocoa error 2048 when using NSRegularExpression in Cocoa
cocoa, ios, nsregularexpression, regex
Solution
are you trying to match a new line/line feed character? you've inserted a literal new line character into your regex... you need to instead insert the code for a newline. Try escaping as `\\n` etc.
edit:
You have to escape all special strings. For example you want your regex string to contain `\`+`r`, not a linefeed character. So you need to use `\\r` instead of `\r`.
i.e.
"(?<=#EXT[^\\r\\n]*[\\r\\n]+)[^#][^\\r\\n]+"
edit 2:
You cannot have unlimited length strings in your look-behind. So, no `*` and no `+` allowed. This is per the ICU regex reference. (`NSRegularExpression` uses ICU regex syntax.)
Problem
I'm building a regular expression for use in a parser in an iOS app. Here's my code: ``` NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?<=#EXT[^\r\n]*[\r\n]+)[^#][^\r\n]+" options:NSRegularExpressionAnchorsMatchLines error:®exError ]; if (regexError) { NSLog(@"regexError: %@", regexError); return nil; } ``` From this answer. This gives out this error: `regexError: Error Domain=NSCocoaErrorDomain Code=2048 "The operation couldn’t be completed. (Cocoa error 2048.)" UserInfo=0x8e86670 {NSInvalidValue=(?<=#EXT[^` Cocoa error 2048 is an `NSFormattingErrorMinimum` according to the docs... But there's literally no further explanation. What does it mean?