- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 iOS 上开发自定义 NSTextStorage,我需要检测一些主题标签 (#)、提及和 url...此时一切正常,但如果用户尝试从键盘输入表情符号字符不显示,因为我使用的是 Helvetica 字体。
我正在使用正则表达式以这种方式检测主题标签、提及和 url:
NSRegularExpression *iExpression = [NSRegularExpression regularExpressionWithPattern:pattern
options:0
error:NULL];
NSRange paragraphRange = [self.string paragraphRangeForRange: self.editedRange];
[iExpression enumerateMatchesInString:self.string
options:0
range:paragraphRange
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)
{
// Changing format of match
}
其中 pattern
是一个有效的正则表达式模式,用于查找主题标签、网址或提及。
是否有一些模式可以检测表情符号字符?我应该使用什么模式,我已经尝试过这个(以及许多其他模式)[^\\x{1F601}-\\x{1F64F}\r\n]
但没有成功。
谢谢。
最佳答案
我不确定 iOS 编程正则表达式模式,但我确定的是,虽然您指向的是正确的范围,但您排除了一个字符集,而不是通过使用脱字符 ^
内的一个字符集 []
定义。此外,我认为您不必转义那些十六进制点并匹配 CR 和 LF。
有一个完整的表情符号Unicode表,由它们对应的Unicode点组成here我收集在下面的单行表达式中:
([0-9#][\x{20E3}])|[\x{00ae}|\x{00a9}|\x{203C}|\x{2047}|\x{2048}|\x{2049}|\x{3030}|\x{303D}|\x{2139}|\x{2122}|\x{3297}|\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x{21FF}][\x{FE00}-\x{FEFF}]?|[\x{2300}-\x{23FF}][\x{FE00}-\x{FEFF}]?|[\x{2460}-\x{24FF}][\x{FE00}-\x{FEFF}]?|[\x{25A0}-\x{25FF}][\x{FE00}-\x{FEFF}]?|[\x{2600}-\x{27BF}][\x{FE00}-\x{FEFF}]?|[\x{2900}-\x{297F}][\x{FE00}-\x{FEFF}]?|[\x{2B00}-\x{2BF0}][\x{FE00}-\x{FEFF}]?|[\x{1F000}-\x{1F6FF}][\x{FE00}-\x{FEFF}]?
在 PCRE 风格中,启用 UTF-16
标志是必须的,方法是在修饰符部分键入 u
以匹配 unicode 字符,因此它将是 /ABOVE- EXPRESSION/u
但不幸的是,我不知道在您的特定情况下它是如何完成的。
关于regex - 表情符号 NSTextStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25292418/
我遇到了 Handlebars 表达式 {{!< default}}我不明白。在问这个问题之前,我曾尝试在谷歌上搜索答案。但是,我找不到任何答案。谁能解释一下这个表达式是什么意思? 最佳答案 在 Ha
经常有朋友问起,如何在im即时通讯中实现发送图片、视频、语音和表情? 为此,小编特意写了一个vue版本的demo,实现了图片视频文件和表情的的发送,参考这个demo源代码,相信你就可以轻松的用un
这里是一个网站 ( https://twitchemotes.com/apidocs ),它展示了一个用于获取 twitch 表情的 API(基本上是描述属于不同用户的一组图像的 json)。 API
使用 Python 3,像下面这样的简单脚本应该按预期运行,但似乎会因 unicode 表情字符串而窒息: import re phrase = "(╯°□°)╯ ︵ ┻━┻" pattern = r
我试图弄清楚表情符号(表情)选择是如何在 Facebook 应用和 Google Hangouts 应用上实现的。我查看了 Android API 示例中的 SoftKeyboard 演示应用程序,但
我正在尝试在 android 通知文本中显示笑脸(或图像范围)。它不起作用。有人知道怎么做吗?谢谢。 代码如下: SpannableStringBuilder builder = new Spanna
我是一名优秀的程序员,十分优秀!