2

这是我很快想到的。它适用regexKitLite于 iPhone:

#define kUserRegex @"((?:@){1}[0-9a-zA-Z_]{1,15})";

Twitter 只允许字母/数字、下划线_和最多 15 个字符(不包括@)。我的正则表达式看起来不错,但报告了电子邮件地址的误报。

#define kHashtagRegex @"((?:#){1}[0-9a-zA-Z_àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]{1,140})";

kHashtagRegex适用于重音词,但对于 UTF-8 词来说还不够。什么是标签的“技术规格”?

是否有关于使用什么来解析这些的参考?或者你对如何增强这个正则表达式有什么建议?

4

2 回答 2

4

我不确定这是否完整,但这就是我要做的:


对于用户名,在@删除电子邮件之前添加对空格/字符串开头的检查(?:^|\s)

#define kUserRegex @"((?:^|\s)(?:@){1}[0-9a-zA-Z_]{1,15})";

对于哈希标签,我只想说 \w 或 \d

#define kHashtagRegex @"((?:#){1}[\w\d]{1,140})";
于 2011-09-23T22:16:08.210 回答
0
REGEX_HASHTAG = '/(^|[^0-9A-Z&\/\?]+)([##]+)([0-9A-Z_]*[A-Z_]+[a-z0-9_üÀ-ÖØ-öø-ÿ]*)/iu';`
于 2011-09-24T10:40:46.627 回答