VB.NET语法突出显示文本内部

VB.NET语法突出显示文本内部,vb.net,visual-studio,Vb.net,Visual Studio,我刚刚开始在VB.NET中查看一些语法高亮显示的示例,它的工作非常出色。但是,有没有办法检查另一个文本中的某些文本?例如,如果我想将“高亮显示为橙色,则可以。但是,如果我希望“中的任何文本都是蓝色的,该怎么办?有没有办法只检查里面的文字?我当前的代码(不是我的,从 Private Sub-RichTextBox1_TextChanged(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理RichTextBox1.TextChanged

我刚刚开始在VB.NET中查看一些语法高亮显示的示例,它的工作非常出色。但是,有没有办法检查另一个文本中的某些文本?例如,如果我想将
高亮显示为橙色,则可以。但是,如果我希望
中的任何文本都是蓝色的,该怎么办?有没有办法只检查里面的文字?我当前的代码(不是我的,从

Private Sub-RichTextBox1_TextChanged(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理RichTextBox1.TextChanged
“暗淡的
小括号作为新列表(字符串)
“水
括号。加上(“”)
括号。添加(“/>”)

括号.Add(“如果您想要获得合理的准确性,那么现在是开始学习词法分析器、解析器和语法树的时候了。”.NET编译器平台(Roslyn)是开始学习Joel所说内容的好地方。否则,您可以始终使用。
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
    ' Dim 
    Dim brackets As New List(Of String)
    ' AQUA
    brackets.Add("<")
    brackets.Add(">")
    brackets.Add("/>")
    brackets.Add("</")

    Dim tags As New List(Of String)
    ' LIME GREEM
    tags.Add("html")
    tags.Add("title")
    tags.Add("head")

    If RichTextBox1.Text.Length > 0 Then
        Dim selectStart As Integer = RichTextBox1.SelectionStart
        RichTextBox1.Select(0, RichTextBox1.Text.Length)
        RichTextBox1.SelectionColor = Color.Black
        RichTextBox1.DeselectAll()

        For Each oneWord As String In brackets
            Dim pos As Integer = 0
            Do While RichTextBox1.Text.ToUpper.IndexOf(oneWord.ToUpper, pos) >= 0
                pos = RichTextBox1.Text.ToUpper.IndexOf(oneWord.ToUpper, pos)
                RichTextBox1.Select(pos, oneWord.Length)
                RichTextBox1.SelectionColor = Color.Aqua
                pos += 1
            Loop
        Next

        For Each tagWord As String In tags
            Dim pos As Integer = 0
            Do While RichTextBox1.Text.ToUpper.IndexOf(tagWord.ToUpper, pos) >= 0
                pos = RichTextBox1.Text.ToUpper.IndexOf(tagWord.ToUpper, pos)
                RichTextBox1.Select(pos, tagWord.Length)
                RichTextBox1.SelectionColor = Color.LimeGreen
                pos += 1
            Loop
        Next

        RichTextBox1.SelectionStart = selectStart
    End If
End Sub