How to match a substring within 2 square brackets using RegEx in Swift

1 Answer

0 votes
import Foundation

func extractBracketedContent(from text: String) -> [String] {
    let pattern = #"\[(.*?)\]"#
    
    guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else {
        return []
    }
    
    let range = NSRange(text.startIndex..., in: text)
    let matches = regex.matches(in: text, options: [], range: range)
    
    return matches.compactMap {
        Range($0.range(at: 1), in: text).map { String(text[$0]) }
    }
}

let input = "This is a [sample] string with [multiple] square brackets."

let extracted = extractBracketedContent(from: input)

for item in extracted {
    print(item)
}




/*
run:

sample
multiple

*/

 



answered Jul 19, 2025 by avibootz
...