我是.Net初学者。我想根据所选的正则表达式为富文本框中的某些字符着色。怎么做?
像:
if (Regex.IsMatch(richTextBox, @"^[a-m]{1}$"))
{
??? //coloring that particular character of richTextBox
}
我应该写什么?可以使用标签完成相同的工作吗?
答案 0 :(得分:1)
如果你想迭代所有比赛。不确定Regex.Matches是否会返回null,因此我检查了结果。
MatchCollection matches = Regex.Matches(rtb.Text, @"^[a-m]{1}$");
if (matches != null && matches.Count > 0)
{
foreach (Match m in matches)
{
rtb.Select(m.Index, m.Length);
rtb.SelectionColor = Color.Blue;
}
}
答案 1 :(得分:0)
您可以尝试将Paragraph
与Run
s
Paragraph para = new Paragraph {
Foreground = Brushes.Red,
};
para.Inlines.Add(new Bold(new Run(matchingString)));
para.Inlines.Add(new Run(regularText));
myRichTextBox.Document.Blocks.Add(para);
等