从主题标签正则表达式中删除点
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 个或更多字符
我正在为我的 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 个或更多字符