- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图突出显示正则表达式中标记的单词,字母或任何东西。
我在Silverlight中使用RichTextBox(请注意,Silverlight不会使用与其他应用程序相同的.NET Framework,例如,它没有TextRange)
每次文本有\ r \ n或\ n \ r时,指针都会向前移动4个位置。但是真正糟糕的是,当我进行突出显示时,样式文本会再增加4个位置。甚至,我认为他的行为比种族的行为更古怪。请给我一些建议!
感谢FailDev。
我尝试使用的文本是:
ffffffffffafffffffffff
fffffafffffffffff
ffffffffffffffffffffffff
(4行,最后一个f之后有一个载波返回\换行)
同样,这与我的代码不兼容(行为是否正常):
ffffffffffaaffffffafffff
fffffafffffffffff
ffffffffffffffffffffffff
(4行,最后一个f之后有一个载波返回\换行)
该想法以蓝色,粗体突出显示,并在“ a”字符下划线。
我尝试的最后一个代码是这样的:
MatchCollection CarrierReturns = MainGeneral.Build_Regex(@"[\r\n|\n\r]", false);
MatchCollection WordsFound = MainGeneral.Build_Regex("[a]", false);
foreach (Match x in WordsFound) {
int StringCarrierCount = 0;
if (CarrierReturns.Count > 0)
{
foreach (Match CR in CarrierReturns)
{
if (x.Index > CR.Index)
{
textBox1.Text += " CI:" + StringCarrierCount + "- ";
break;
}
StringCarrierCount++;
}
}
if (x.Index < CarrierReturns[0].Index) { StringCarrierCount = 0; }
StringBegin = 2 + x.Index + (4 * StringColorCounter) + (4 * StringCarrierCount);
StringEnd = StringBegin + x.Length;
textBox1.Text += StringBegin + "-" + StringEnd + " ";
StringColorCounter++;
StartPoint = MainData.ContentStart.GetPositionAtOffset(StringBegin, LogicalDirection.Forward);
EndPoint = MainData.ContentStart.GetPositionAtOffset(StringEnd, LogicalDirection.Forward);
MainData.Selection.Select(StartPoint, EndPoint);
MainData.Selection.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(Colors.Blue));
MainData.Selection.ApplyPropertyValue(Run.TextDecorationsProperty, TextDecorations.Underline);
MainData.Selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
}
最佳答案
行分隔符可以是\r\n
(回车+换行),\n
(仅换行)或\r
(仅回车)中的任何一个。匹配一个的正确方法是使用\r\n|[\r\n]
。
您的正则表达式-[\r\n|\n\r]
-恰好匹配一个字符; \r
,\n
或|
中的任何一个。这意味着,每当行分隔符为\r\n
时,您的代码就好像有两个行分隔符,而不是一个。
您的代码中可能还会存在其他错误,但我不太了解它正在尝试执行的操作。我确定正则表达式不正确。
关于regex - 使用SilverLight在RichTextBox上使用RegEx突出显示单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152546/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!