NSRegularExpression 在字符后随文本颜色变化

NSRegularExpression change following text's color after a character

我正在尝试更改字符的颜色和任何文本,我正在使用 NSRegularExpression 来获取字符,但我不知道如何更改以下字符,例如这是我的文本:

● Title......
some description xxxxxx x x x x x  

所以在这种情况下,我需要更改此 字符的颜色和后续字符串

这是代码:

 NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"●"
                                   options:kNilOptions error:nil];

[regex2 enumerateMatchesInString:PureText options:kNilOptions range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
    NSRange subStringRange = [result rangeAtIndex:0];
    [stringText addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:subStringRange];
}];

_textView.attributedText = stringText;

此代码仅查找和更改 ● 字符的颜色。

您的正则表达式只查找点符号。 ●.* 之类的东西怎么样?我不确定 NSRegularExpression 如何处理换行符,因此您可能还需要表示它们。

使用正则表达式 ●.* 匹配换行前点之后的所有字符:

NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"●.*"
                                   options:kNilOptions error:nil];

[regex2 enumerateMatchesInString:PureText options:kNilOptions range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
    NSRange subStringRange = [result rangeAtIndex:0];
    [stringText addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:subStringRange];
}];

_textView.attributedText = stringText;