Tag: 正则expression式

从string中提取价格

我正在寻找一个简短而方便的方式从NSString中提取产品的价格。 我试过正则expression式,但总是发现一些不匹配的情况。 价格可以是任意数字,包括小数,0 和-1 (有效价格:10,10.99,-1,0)。 NSString可以包含一个string,如:@“Prod。price:$ 10.99” 谢谢!

如何加快与NSRegularExpression iPhone正则expression式?

我的iPhone应用程序使用正则expression式(与NSRegularExpression)来执行计算大量的string(在1000年)。 这当然需要很多时间。 什么是加快正则expression式的一些策略? 我研究了使用块,但我不认为它会有什么好处 – 它们似乎主要代表lambdafunction(即相当于lisp),并且在具有多个内核的Mac上使用。 显然,目前的iPhone没有多核心。 这是我的代码: NSString *replaceRegexPattern = @"([\\(|\\[].*?[\\)|\\]])|(^to )"; NSRegularExpression *replaceRegex = [[NSRegularExpression regularExpressionWithPattern:replaceRegexPattern options:NSRegularExpressionCaseInsensitive error:nil] retain]; NSArray *myArray = <some data>; NSString *myString, *compareValue; for (i = 0; i < [myArray count]; i++) { myString = [myArray objectAtIndex:i]; compareValue = [replaceRegex stringByReplacingMatchesInString:myString options:0 range:NSMakeRange(0, [myString length]) withTemplate:@""]; // do things […]

Objective-C中的正则expression式:如何用dynamic模板replace匹配?

我的input就像"Hi {{username}}" ,即。 用关键字replace的string。 然而, input是相当小的 (~10个关键字和总共1000个字符),并且我有一百万个可能的关键字存储在散列表数据结构中,每个关联到它的replace。 因此,我不想遍历关键字列表,并尝试在input中replace每个input以显示性能原因。 我比较喜欢通过查找正则expression式模式"\{\{.+?\}\}"来遍历input字符一次。 在Java中,我使用Matcher.appendReplacement和Matcher.appendTail方法来做到这一点。 但我找不到与NSRegularExpression类似的API。 private String replaceKeywords(String input) { Matcher m = Pattern.compile("\\{\\{(.+?)\\}\\}").matcher(input); StringBuffer sb = new StringBuffer(); while (m.find()) { String replacement = getReplacement(m.group(1)); m.appendReplacement(sb, replacement); } m.appendTail(sb); return sb.toString(); } 我是否被迫自己实施这样的API,还是我错过了什么?

NSRegularExpression分隔段落

考虑这个文本: Paragraph 1: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Paragraph 2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut […]

iOS DDMathParser获取数字“块”

我正在使用DDMathParser为iOS构build一个计算器应用程序。 我想知道如何将一个expression式( NSString )(如5+900/32 NSString )分解为单独的数字值: 900和32 。 我宁愿我得到这些在一个NSArray或其他相对有用的列表对象。 我听说有一个简单的方法来做到这一点与DDMathParser – 这就是为什么我从GCMathParser切换。

iOS的PhoneGap正则expression式replace

我可能只是在做一些明显而愚蠢的事情,但是我可以让这个代码在Chrome控制台中工作,但是当我在我的phonegap应用程序中运行它时,它什么也不做。 我从一个网站API的一些消息拉到phonegap伴侣应用程序。 问题是这些消息有链接到他们的网站。 我想使用正则expression式来改变一个onClick,所以它适用于我的应用程序。 如果我在Chrome中运行这个代码,那很好: avar = '<a href="view.php?id=63">Click here to view details</a>'; bvar = avar.replace( /<a href="view\.php\?id=([0-9])*">/gi, '<a onClick="navigator.notification.alert(\'ok\')">AAA' ); 我正确地剥离了这个正则expression式,但仍然失败 bvar = avar.replace( /<a href="/gi, 'TEST' ); 再次,在Chrome浏览器,而不是Phonegap应用程序。 有任何想法吗?

为什么在我的正则expression式中有多个捕获组会崩溃我的应用程序?

无论正则expression式是什么,> 1捕获组将会崩溃这个代码,并出现以下错误。 由于未捕获的exception'NSRangeException',原因:' – [__ NSCFString substringWithRange:]:范围{9223372036854775807,0}越界; 弦长279' public extension String { //Multi use parsing function func regexParse(pattern:String, captureGroup:Int, caseSensitive:Bool) ->[String] { do { //Creates empty results array. var resultsArray = [""] //Sets Case sensitivity var caseSensitivity = NSRegularExpressionOptions.CaseInsensitive if(caseSensitive) { caseSensitivity = NSRegularExpressionOptions.init(rawValue: 0) } //Sets regex to correct pattern let regex = try […]

我如何使用正则expression式来引用一个语句

我正在使用regexkitlite来validationxcode中的iPhone应用程序中的一些数据。 我正在做一个API调用,发送一个JSON结果: "taskDate": newDate("September 23, 2011 00:00:00") 我如何使用正则expression式来将其转换为: "taskDate": "newDate("September 23, 2011 00:00:00")" 我想用引号括住每个“taskdate”键的值。 编辑:添加OP的评论 这是我正在使用的是: [resultString replaceOccurrencesOfRegex:@"new Date((.*?)\")," withString:@"\"\"," range:NSMakeRange(0, [resultString length])]; 其中resultString是包含“新date(….”)的string。

NSArray的NSArray中的对象的属性的NSPredicate

我有一个像下面的结构的对象:事务有一个项目的数组。 Item有一个SubItems数组 @interface Transaction : NSObject @property (nonatomic, copy) NSString *id; @property (nonatomic, assign) NSInteger status; @property (nonatomic, strong) NSArray *items; // array of Item @end @interface Item : NSObject @property (nonatomic, copy) NSString *identifier; @property (nonatomic, assign) NSInteger price; @property (nonatomic, strong) NSArray *subitems; @end @interface SubItem : NSObject @property (nonatomic, copy) NSString *name; […]

iOS正则expression式阿拉伯语

我来自这个职位 正则expression式仅限阿拉伯字符和数字 如何用reg exp匹配阿拉伯语单词? (没有回答我的问题) 我试过了 ^[\p{Arabic} ]+$ 并收到 'parsing错误',原因:'无效的转义序列@ pos 3:^ [\▶p {阿拉伯语}] + $' 我也试过了 ^[\u0621-\u064A\s]+$ 'parsing错误',原因:'无效的字符范围@ pos 7:^ [\ u062▶1- \ u064A \ s] + $' 我也试过了 ^[\u0621-\u064A]+$ 'parsing错误',原因:'无效的字符范围@ pos 7:^ [\ u062▶1- \ u064A] + $' 我需要^ [A-Za-z] + $接受阿拉伯字符。 提前致谢!