I'm very confused using Swift's regular expression for replacing strings.
I want to replace <blubb>Test</blubb> which does not work as expected:
let html  = "Test\r\nTest\r\nTest\r\nTest\r\nTest\r\nTest\r\nTest-<blubb>Test</blubb>-Test"
do {
    let regex = try NSRegularExpression(pattern: "\\<blubb\\>[\\s\\S]*\\<\\/blubb\\>", options: NSRegularExpression.Options.caseInsensitive)
    let range = NSMakeRange(0, html.count)
    let modString = regex.stringByReplacingMatches(in: html, options: [], range: range, withTemplate: "REPLACED")
    print( modString)
} catch {}
Result (not replacing string):
Test
Test
Test
Test
Test
Test
Test-<blubb>Test</blubb>-Test
But:
- If I remove all \rit works
- If I remove first Test\r\nit works too
Result of removing first Test\r\n:
Test
Test
Test
Test
Test
Test-REPLACED-Test
So am I missing something or is this a bug in the regex-engine used by Swift?
