In einer Textzeichenfolge, ich versuche alles zwischenGebäude Swift/ObjC regulärer Ausdruck
[DATA FORMAT]
und /DATA FORMAT]
und
Columns Format:
und /DATA FORMAT]
zu diesem Ziel, das ich regelmäßig zu holen verwenden Ausdrücke.
Während das Muster
"\\[DATA FORMAT\\](.*?)\\[/DATA FORMAT\\]"
funktioniert wie erwartet, das Muster
"Columns Format(*.?)\\[/DATA FORMAT\\]"
einen Fehler gibt
Optional("The value “Columns Format(*.?)\\[/DATA FORMAT\\]” is invalid.")
The value “Columns Format(*.?)\[/DATA FORMAT\]” is invalid.
in der Konsole (erste Zeile: localizedFailureReason, zweite Zeile: localizedDescription)
Was habe ich vermisst?
Code:
extension String
{
func match (pattern: String,
options: RegularExpression.Options = [.caseInsensitive, .dotMatchesLineSeparators]) -> [String]
{
do
{
let regex = try RegularExpression(pattern: pattern, options: options)
let regexAnsw = regex.matches(in: self, options: RegularExpression.MatchingOptions.withTransparentBounds, range: NSMakeRange(0, self.characters.count))
var retStrings = [String]()
for rs in regexAnsw
{
if let range = self.range(from: rs.range)
{
retStrings.append(self.substring(with: range))
}
else
{
print("match: cant' convert NSRange to range")
}
}
return retStrings
}
catch let error as NSError
{
print(error.localizedFailureReason)
print(error.localizedDescription)
return [String]()
}
}
}
OMG. Ich danke dir sehr. – Adeline