Автор вопроса: Павел | Web-сайт:www.vbnet.ru | ICQ: 326066673
Раскраска код в RichTextBox с помощью регулярных выражений. Выдрал с
помощью декомпилера Spices .NET из одной проги..
Private Sub ColorizeRegex(ByVal rtf As System.Windows.Forms.RichTextBox)
Me.hiddenRichTextBox.SelectionColor = System.Drawing.Color.Black
Me.hiddenRichTextBox.Font = New System.Drawing.Font("Courier New", 8!)
Me.hiddenRichTextBox.Text = rtf.Text
If Me.hiddenRichTextBox.Text.Length > 0 Then
Dim arr As String = "(?:(\(\?<(?<groupName>\w+)>)|(?<specialChar>\\d|\\b|\\s|\\w|\\n|\\x(\d+)|\\u(\d+)|\\\W))"
Dim regex As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(arr, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
Dim matchCollection As System.Text.RegularExpressions.MatchCollection = regex.Matches(Me.hiddenRichTextBox.Text)
Me.FillGroupListBox(rtf.Text)
Dim i As Integer = 0
Do While i <= (matchCollection.Count - 1)
Me.hiddenRichTextBox.Select(matchCollection(i).Groups("groupName").Index, matchCollection(i).Groups("groupName").Length)
Me.hiddenRichTextBox.SelectionColor = System.Drawing.Color.Green
Me.hiddenRichTextBox.Select(matchCollection(i).Groups("specialChar").Index, matchCollection(i).Groups("specialChar").Length)
Me.hiddenRichTextBox.SelectionColor = System.Drawing.Color.OrangeRed
i+=1
Loop
End If
rtf.Rtf = Me.hiddenRichTextBox.Rtf
End Sub