我正在使用KILabel作为我的Swift项目,以便将主题标签转换为链接。我的问题是我所做的正则表达式函数也是捕获点。例如,如果用户写#18.3我只想捕获#18
我尝试了一些东西,以便在某一点上删除标签,但没有成功。
regex = [[NSRegularExpression alloc] initWithPattern:@"(#+[\\S\\_]+)?" options:0 error:&error];
你知道我怎么能这样做吗?
你有的正则表达式匹配1 + #
字符,然后1或更多任何非空白字符。
要在第一个点之前停止匹配,请使用
@"#[^\\s.]+"
如果里面有点,请使用
@"#[^\\s.]+(?:\\.[^\\s.]+)*"
细节
#
- 除了空白和#
之外的一个或多个字符[^\s.]+
- 零次或多次重复
.
- 一个点
(?:\.[^\s.]+)*
- 除了空白和\.
之外的一个或多个字符。