我正在编写一个程序来制作以不同颜色开头/*
和结尾的文本*/
(C 注释的语法突出显示)。当我尝试这个
@"/\*.*\*/";
我明白了unknown escape sequence
。所以我认为要获得字面星号,我必须使用它
@"/[*].*[*]/";
而且我没有收到任何错误,但是当我使用此代码时
commentPattern = @"/[*].*[*]/";
reg = [NSRegularExpression regularExpressionWithPattern:commentPattern options:kNilOptions error:nil];
results = [reg matchesInString:self.string options:kNilOptions range:NSMakeRange(0, [self.string length])];
for (NSTextCheckingResult *result in results)
{
[self setTextColor:[NSColor colorWithCalibratedRed:0.0 green:0.7 blue:0.0 alpha:1.0] range:result.range];
}
评论的文本颜色没有改变,但我看不出我的正则表达式有什么问题。有人能告诉我为什么这行不通吗?我不认为我获得结果或更改颜色的方式有问题,因为我对其他正则表达式使用相同的方法。