空格与=

时间:2016-04-11 13:38:53

标签: regex

我正在尝试编写一个正则表达式,它将选择空格和=之间的所有内容。

从以下几行

  

Window x:Class =" QuiddlerGUI.MainWindow"   的xmlns =" HTTP://schemas.microsoft.com/winfx/2006/xaml/presentation"

我希望选择x:Classxmlns。我能得到的最接近的是它,但它并没有停留在白色空间。

(?<=)(.*?)(?==)       

我正在使用正则表达式尝试在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);
            }
        }

2 个答案:

答案 0 :(得分:1)

尝试使用(?<=\s)[^=]*

<强>解释

  • (?<=\s)会留意空白。

  • [^=]*将匹配所有内容,直到满足=

<强> Regex101 Demo

答案 1 :(得分:1)

你有没有试过像:

" (.*?)="

它搜索一个空格,然后是任何字符,直到它找到一个等号,寻找最短的字符串(正则表达式是贪婪的)。