从标签Regex中删除点

时间:2018-03-05 10:45:22

标签: ios regex swift swift3 hashtag

我将KILabel用于我的Swift项目,以便将主题标签转换为链接。我的问题是我所做的正则表达式函数也是捕获点。例如,如果用户写#18.3我想只捕获#18

我尝试了一些东西,以便在某个时刻删除标签,但没有成功。

regex = [[NSRegularExpression alloc] initWithPattern:@"(#+[\\S\\_]+)?" options:0 error:&error];

您对我如何做到这一点有任何想法吗?

1 个答案:

答案 0 :(得分:2)

你有的正则表达式匹配1 + @"#[^\\s.]+" 个字符,然后是1个或多个非空白字符。

要在第一个点之前停止匹配,请使用

@"#[^\\s.]+(?:\\.[^\\s.]+)*"

如果里面有点,请使用

#

<强>详情

  • # - [^\s.]+字符
  • . - 除了空格和(?:\.[^\s.]+)*
  • 之外的一个或多个字符
  • \. - 零次或多次重复
    • [^\s.]+ - 一个点
    • . - 除了空格和functions之外的一个或多个字符。