2 alllllllll alllllllll 于 2013.05.13 10:42 提问

NSRegularExpression检测破折号

正则表达式:

static inline NSRegularExpression * AuthorRegularExpression() {
    if (!__authorRegularExpression) {
        __authorRegularExpression = [[NSRegularExpression alloc] initWithPattern:@"-\\s*(.)*$" options:NSRegularExpressionCaseInsensitive error:nil];
    }

    return __authorRegularExpression;
}

用来检测破折号(-),但是现在我将破折号格式改为em-dash。然后字符串就变成:

 NSString *dashAuthor = [NSString stringWithFormat:@"%C %@", 0x2014, self.theme.quoteAuthor];

应该怎么修改正则表达式来映射这个?这样可以搜索到作者名后面带有em-dash的。

1个回答

vikeyToy
vikeyToy   2013.05.13 14:04
已采纳

你可以通过em-dash的Unicode 值: (\u2014 进行匹配,也可以用字符名:比如 \N{EM DASH} 进行匹配。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
NSRegularExpression 使用小记
一些NSRegularExpression方法的使用 //block方式遍历出合适的结果 - (void)enumerateMatchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange)range usingBlock:(void (NS_NOESCAPE ^)(NSTextCheck
使用NSRegularExpression自动识别电话号码
最近项目中碰到了这样一个需求,需要在一段文字中识别出手机号,并加上特殊颜色,和点击事件。下面说下我的思路,抛砖引玉。(如果你有更好的想法,不妨交流下)前提是基于TTTAttributedLabel实现的。因为TTTAttributedLabel已经做了添加链接,我们目的是找出应该在哪里加链接,关于怎么加上,以及点击链接的代理事件不是本文重点。工欲善其事,必先利其器吗。(以下内容仅以国内固话和手机号为
objective-c 正则表达式 -NSRegularExpression 提取匹配内容
NSString * str = @"http://yourhostaa/index.php?path=hellow/index&id=893&cid=123;http://yourhostbb/index.php?path=hellow/index&id=888&cid=456"; NSString * patton = @"http://([^/]+)/index.php\\?
iOS 正则表达式 NSRegularExpression
最近遇到一个需要进行字符串匹配的问题,我就想到用正则表达式来解决,通过ios中的NSRegularExpression这个类就可以帮助我们实现这个。 问题陈述: 现在我要对一个语句进行匹配: "[self.label setText: @\"hello world\";"  这个语句其实就是设置一个label的内容,其中label字符串中的内容可以任意。 那么根据这个字符串,写出对应的正则表
NSRegularExpression的使用,获取所有符合条件的结果
开发中用到检索字符串,并获取获取符合条件的字符串数组。 网上找了下,可以利用正则表达式完成,结果是个数组,数组元素是NSTextCheckingResult。 效果不错,小记一下。   直接看示例代码 NSString *str = @"ddididd{{{didd}}diid"; NSString *regexStr = @"d[i]+d"; NSRegularExpression *
NSRegularExpression 正则表达式语法与正则表达式在iOS中的常见用法
原创作者网址点击打开链接 一、什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。 二、正则表达式的语法 看一个过滤纯数字的例子 - (BOOL)validateNumber:(NSString *)
iOS中NSRegularExpression正则表达式的使用
初始化一个   NSRegularExpression 对象 注:_str是要匹配的字符串 NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"http://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?" options:NSRegularExpres
NSRegularExpression iOS自带的正则表达式
以前做验证邮箱,电话号码的时候通常用第三方的正则表达式或者NSPredicate(点这里查看以前的文章),在后期,苹果推出了自己的正则表达式来提供给开发者调用,很方便,功能也强大.       具体可以查看官方文档,包括如何书写进行匹配的正则表达式例子,这里我就不多加详述了,因为本人看那一堆符号好烦.....只好直接求助于谷歌了,下面只给出几个常用的. #define KPhoneRegex
iOS之— NSRegularExpression正则分割字符串
社交化越来为社会所接受,在做社会化产品时,在回复或者转发时会@他人 展示出来,点击@user 跳转到该用户的介绍页面,这里首先要制定恰当的标签,比如:iJecky,然后客户端拿到文本时,要用到NSRegularExpression分割string,下面以富文本OHAttributedLabel来演示: 说明:本文中用到的contentLabel为OHAttributedLabel类型 示例:
iOS开发之正则表达式快速教程(NSPredicate、NSRegularExpression)
正则表达式 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。 许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎,还有java语言自带的。正则表达式这个概念最初是由Unix