iphone - 字符串开头的 RegexKitLite 问题

标签 iphone ios regexkitlite

我正在尝试使用 regexKitLite 替换一个不在字符串开头的字符,其自身后跟另一个字符。

thisPlate = [sBasePlate 
             stringByReplacingOccurrencesOfRegex:[NSString stringWithFormat:@"([^\\^]%@)", thisChar] 
             withString:[NSString stringWithFormat:@"\1%@", thisRep]
             ];

如果 sBasePlate 是“temp”,则 thisPlate 会设置为 emp,但我希望它是 teemp

因此,我尝试将 NOT THE START OF THE STRING,后跟 thisChar 替换为已匹配后跟 thisRep 的字符串。

我的反向引用有误吗?因为那似乎是缺失的。它添加了 thisRep,但忽略了初始匹配并且没有将其放回 \1

对不起,如果我做了一些非常愚蠢和明显的事情,这是我的第一个应用程序。

最佳答案

好的,我解决了。我讨厌回答自己的问题,但其他人可能会犯和我一样的错误,所以我错过了一个明显的愚蠢大事......

反向引用应该是 $ 符号。

withString:[NSString stringWithFormat:@"$1%@", prevRep]

字符串应该这样写。

令人讨厌的是这里的文档说反向引用应该是“\n”:

http://regexkit.sourceforge.net/RegexKitLite/

但是别处的例子显示$n。我早该猜到的。那好吧。

关于iphone - 字符串开头的 RegexKitLite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7018698/

相关文章:

objective-c - 如何使用 NSURL 下载

iphone - 应用程序窗口在应用程序启动结束时应该有一个 Root View Controller

iphone - 从 AVFoundation Capture Session 获取原始数据流

ios - 如果数据类型为 URL 的变量为空,如何在 Swift 中检查?

objective-c - 使用 ICU 正则表达式查找不在括号内的数字的正则表达式问题

iphone - 配置配置文件和 xcode 构建

iphone - 为什么我无法将 NSSet 保存到 coredata 中的 'to-many' 关系?

ios - 如何在 iOS 7.1.1 中摆脱使用 Layer.cornerRadius 圆角的 UIView 中的细边框?

swift - 如何指定 UITextField 中的文本类型