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