从主题标签正则表达式中删除点

Remove point from hashtag Regex

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

我尝试了一些方法,以便在某个点剪切主题标签,但没有成功。

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

你知道我该怎么做吗?

您的正则表达式匹配 1+ # 个字符,然后匹配 1 个或更多 non-whitespace 个字符。

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

@"#[^\s.]+"

如果里面可以有点,就用

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

详情

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