Ich versuche, den Wert des Titels mit regulären Ausdruck zu erhalten. Was ist mit diesem regulären Ausdruck falsch? Match kommt gleich Null.regulärer Ausdruck Problem, wenn Zeichenfolge enthält n
let strToCheck = "<title>youtube \n </title>"
let rgx = "<title(.*?)>(.*?)</title>"
let rx = try NSRegularExpression(pattern: rgx, options: [.caseInsensitive])
if let match = rx.firstMatch(in: strToCheck, options: [], range:
NSMakeRange(0, string.characters.count)) {
}
Es gibt absolut keine Notwendigkeit, einen Schrägstrich in einem schnellen Regex-Muster zu entkommen. Das mehrzeilige Flag definiert nur das Verhalten von Ankern neu, die hier nicht verwendet werden. –
Oh, ich wusste das nicht über schnellen Dank für die Klärung! , aber ich habe meine Antwort aktualisiert, um neue Zeile Fällen zu entsprechen, wenn es dort ist –
Das Update hat nicht die Lösung richtig gemacht, das ist ein schreckliches Muster. Bitte überlegen Sie, ob Sie die falsche Antwort oder den Fehler behoben haben. Verwenden Sie niemals '(. | \ N +) *?' - es ist ein großartiger Performance-Killer. –