为regex添加一些字符以进行标签识别

时间:2017-04-08 10:40:08

标签: ios regex swift

我使用pod ActiveLabel检测标签内的标签。它使用正则表达式来定义什么是标签。主题标签的当前正则表达式如下所示:

 static let hashtagPattern = "(?:^|\\s|$)#[\\p{L}0-9_]*"

目前它确实在像“&”这样的符号上剪切了#标签要么 ”。”或“ - ”我需要将这些字符显示为主题标签的一部分。 通过剪切,我的意思是它不会将#word-secondword识别为标签,而只识别#word。 它是如何工作的?我在哪里定义我的特殊字符?我非常感谢任何帮助,尤其是一个例子,因为我现在对正则表达式一无所知。

编辑: 所有当前不起作用的字符串:

"#Version_0.53" <- cut at the "."
"#abc,de" <- cut at the ","
"#abc€def" <- cut at the "€"
"#abc$def" <- cut at the "$"
"#test"test" <- cuts at the """
"#test@test" <- cuts at the "@"
"#test/test" <- cuts at the "/"

所以基本上除了“_”之外的每个特殊字符都会导致识别中的剪切

2 个答案:

答案 0 :(得分:0)

请试试这个正则表达式,

/#\w+(.)\w+/igm

如果您有任何其他字符串无效,请告诉我。

答案 1 :(得分:0)

在字符类中添加特殊字符:

IFS='|' read var1 var2 var3 var4 < <(curl '......' | jq -r '.data | 
    map([.absoluteNumber|tostring, .airedEpisodeNumber|tostring, .episodeName, .overview] | 
    join("|")) | join("\n")')