从标签Regex中删除点

问题描述 投票:1回答:1

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

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

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

你知道我怎么能这样做吗?

ios regex swift swift3 hashtag
1个回答
2
投票

你有的正则表达式匹配1 + #字符,然后1或更多任何非空白字符。

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

@"#[^\\s.]+"

如果里面有点,请使用

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

细节

  • qazxsw poi - 一张qazxsw poi图表
  • # - 除了空白和#之外的一个或多个字符
  • [^\s.]+ - 零次或多次重复 . - 一个点 (?:\.[^\s.]+)* - 除了空白和\.之外的一个或多个字符。
© www.soinside.com 2019 - 2024. All rights reserved.