Ich habe folgende Regex in C#:Warum passt mein C# Regulärer Ausdruck nicht zwischen Zeilen?
Regex h1Separator = new Regex(@"<h1>(?'name'[\w\d\s]+?)(<br\s?/?>)?</h1>", RegexOptions.Singleline);
Der Versuch, eine Zeichenfolge übereinstimmen, die wie folgt aussieht:
<h1>test content<br>
</h1>
jetzt es Strings übereinstimmt, die wie folgt aussehen:
<h1>test content<br></h1>
<h1>test content</h1>
Was mache ich falsch? Sollte ich für einen Newline-Charakter passen? Wenn ja, was ist das in C#? Ich kann keinen finden.
Ich denke, ich hätte gesagt, aber keine der beiden Optionen funktioniert. Irgendeine Chance, dass etwas mit der Regex selbst nicht stimmt? –
Singeline steuert nur das Verhalten des. Element (ob es zu allem oder zu allem passt, außer Newline). Er benutzt das nicht. Element in seiner Regex, so sollte es nichts ändern. – MikeP
und Multiline nur "Ändert die Bedeutung von^und $ so, dass sie am Anfang und am Ende jeder Zeile übereinstimmen, nicht nur am Anfang und am Ende der ganzen Zeichenfolge." (von MSDN). Anscheinend gibt es eine Menge Verwirrung über diese beiden RegEx-Optionen. –