Я пытаюсь написать Regex, который будет выбирать все между пробелами и =.Регулярное выражение между пробелами и =
Из следующих линий
Окно х: класс = "QuiddlerGUI.MainWindow" XMLNS = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Я бы хотел (а) выбрать x:Class
и xmlns
. Самое близкое, что я мог получить, это было, но это не останавливалось в белом пространстве.
(?<=)(.*?)(?==)
Я использую регулярное выражение, чтобы попытаться выбрать текст в RichTextBox, чтобы попытаться и изменить цвет текста.
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);
}
}
[Вы не можете разобрать XML с регулярным выражением] (http://stackoverflow.com/a/1732454/1529630) – Oriol
Просто '\ S + (? ==)' должно быть достаточно (если значения не могут иметь ' = 'sign - тогда вы должны думать о правильном способе разбора строк). –
В C# существует множество инструментов анализа XML. Regex - это средство последней инстанции. –