Ich versuche, eine Regex zu schreiben, die alles zwischen einem Leerzeichen und = auswählen wird.Regex zwischen Leerraum und =
Aus den folgenden Zeilen
Fenster x: Class = "QuiddlerGUI.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Ich möchte es x:Class
und xmlns
auswählen. Das nächste, was ich bekommen konnte, war das, aber es blieb nicht bei Leerraum.
(?<=)(.*?)(?==)
Ich bin mit dem regex Text in einem RichTextBox zu versuchen, und wählen Sie die Farbe des Textes, um zu versuchen und zu ändern.
foreach(TextColors color in textColors)
{
var start = body.Document.ContentStart;
while (start != null && start.CompareTo(body.Document.ContentEnd) < 0)
{
if (start.GetPointerContext(LogicalDirection.Forward) == TextPointerContext.Text)
{
var match = color.RegularExpression.Match(start.GetTextInRun(LogicalDirection.Forward));
var textrange = new TextRange(start.GetPositionAtOffset(match.Index, LogicalDirection.Forward), start.GetPositionAtOffset(match.Index + match.Length, LogicalDirection.Backward));
textrange.ApplyPropertyValue(TextElement.ForegroundProperty, color.TextColor);
start = textrange.End;
}
start = start.GetNextContextPosition(LogicalDirection.Forward);
}
}
[Sie können XML mit Regex nicht analysieren] (http://StackOverflow.com/a/1732454/1529630) – Oriol
Nur '\ S + (? ==)' sollte genug sein (außer die Werte können ein ' = 'Zeichen - dann sollten Sie über eine korrekte Art der Syntaxanalyse der Strings nachdenken. –
In C# sind viele XML-Analysetools verfügbar. Regex ist nur ein Mittel letzter Instanz. –