用于触摸Hastags的Objective-C正则表达式

妖精的

我有一些代码(如下),每当文本更改时,该代码都会在uitextfield中解析标签和@ -symbols。它可以与以下项目一起正常工作:

#one #two

..但是当两个具有标签的标签彼此相邻时失败,如下所示:

#one#two

这是我的代码:

- (IBAction)changed:(UITextField*)sender
{
    NSRegularExpression *regexp = [[NSRegularExpression alloc] initWithPattern:@"(?:^|\\s|[\\p{Punct}&&[^/]])((#[\\p{L}0-9-_]+)|(@[\\p{L}0-9-_\\.]+))" options:NSRegularExpressionCaseInsensitive error:nil];
    NSArray *matches = [regexp matchesInString: [sender text] options:0 range:NSMakeRange(0, [[sender text]  length])];
    NSMutableString *output = [[NSMutableString alloc] init];
    for (NSTextCheckingResult *linkRange in matches) {
        NSString *match = [[sender text] substringWithRange:[linkRange rangeAtIndex:1]];
        [output appendString:match];
        [output appendString:@"\n"];
    }
    self.label.text = output;
}

什么是正确的正则表达式同时处理空间和无空间?

我没有分析您的整个模式,但是我测试了您的代码并仅检测您应该使用的标签:

NSRegularExpression *regexp = [[NSRegularExpression alloc] initWithPattern:@"#[^# ]+" options:NSRegularExpressionCaseInsensitive error:nil];

输出:

输出__NSCFString * @“#dl \ n#laklkjdfg \ n#glkjs \ n” 0x1839cab0

为了:

NSString *text = @"#dl#laklkjdfg #glkjs";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Objective-C正则表达式匹配

来自分类Dev

Objective-C正则表达式为“(空)”

来自分类Dev

Objective C正则表达式行以数字开头

来自分类Dev

C ++正则表达式,用于获取函数签名

来自分类Dev

C#正则表达式用于文件扩展

来自分类Dev

用于C中IP地址的正则表达式

来自分类Dev

正则表达式,用于获取C类型定义

来自分类Dev

用于HTML的正则表达式C#

来自分类Dev

用于C中IP地址的正则表达式

来自分类Dev

C ++正则表达式,用于获取函数签名

来自分类Dev

C ++中用于数学表达式的正则表达式

来自分类Dev

用于解析C ++中的数组索引表达式的正则表达式

来自分类Dev

用于算术表达式的正则表达式

来自分类Dev

用于比较表达式的正则表达式

来自分类Dev

(C#正则表达式)如何使用正则表达式使单词边界适用于括号?

来自分类Dev

用于匹配或的正则表达式

来自分类Dev

用于匹配$(..)的正则表达式

来自分类Dev

正则表达式用于键值对

来自分类Dev

正则表达式匹配组不适用于Objective-C

来自分类Dev

正则表达式,用于Objective C中的html字符串

来自分类Dev

正则表达式不适用于正则表达式注释

来自分类Dev

正则表达式,用于查找项目中的所有正则表达式

来自分类Dev

带正则表达式的分割字符串-Objective-C

来自分类Dev

Objective C正则表达式删除除数字以外的所有内容

来自分类Dev

Objective-C正则表达式检查两个数字的序列

来自分类Dev

这个Objective-C正则表达式有什么问题?

来自分类Dev

Objective C正则表达式从包含文本的行中提取数据

来自分类Dev

Objective-C中的正则表达式:如何用动态模板替换匹配项?

来自分类Dev

无法在Objective-C中使用正则表达式

Related 相关文章

热门标签

归档