我正在尝试在Objective-C中扫描来自NSStrings的主题标签,我正在使用正则表达式。我在Facebook上做了一个测试状态,看看哪些是有效的主题标签,因为它是我想要用我的标签检测模式的地方。我的问题是我的正则表达式仍然是在没有空格之前或者在字母数字之前得到的主题标签。在somethin#idfsjoa
#idfsjoa
中,#face #Fa!ce something #iam#1 #1 #919 #jifdosaj somethin#idfsjoa #9#9#98 9#9f9j#9jlasdjl #jklfdsajl34 #34239 #jkf #a #1j3rj3
被检测为标签时不应该。我正在使用regexpal来测试我的正则表达式。
如何检查"#"没有来过一个空间"?
来自Facebook:
NSString:
(?!\w+)#(\w+)([A-Za-z0]+)
我目前的正则表达式:
{{1}}
答案 0 :(得分:0)
这似乎符合您的标准:
(?:\s|^)(#(?:[a-zA-Z].*?|\d+[a-zA-Z]+.*?))\b
请注意,#标签本身将是第一个(也是唯一的)捕获。