试图从我正在解析(在iPhone上)的一些超文本标记语言中获取网址,使用“捕获括号”来仅对我感兴趣的部分进行分组。
我现在有了这个:
NSString *imageHtml; //a string with some HTML in it
NSRegularExpression* innerRegex = [[NSRegularExpression alloc] initWithPattern:@"href=\"(.*?)\"" options:NSRegularExpressionCaseInsensitive|NSRegularExpressionDot
假设我有一个正则表达式
let regexString = "\\s{1,3}(---+)\\s*"
let regex = try? NSRegularExpression(pattern: regexString)
和一根绳子
let string = "Space --- the final frontier --- these are the voyages..."
让我们进一步假设字符串确实很长,并在省略号(...)之后在几千个字符中继续。
现在我想找到正则表达式regex的第一个匹配项,但是出于效率原因,我希望停止搜索某个索引。
示例:
index:
例如,我正在处理布尔查询:
Information mining AND retrieval OR position
我想要创建两个数组或列表,一个包含术语(术语可以有大写字母),术语可以有短语查询,即多个单词。
{Information mining, retrieval, position}
第二个数组将包含关键字
{AND, OR}
所以我可以用他们的布尔运算符来映射相关的搜索词。
我创建了第一个数组,使用regex“和_不_
我无法找到从给定字符串创建第二个数组的方法。
我能用什么正则表达式来达到这个结果呢?
我试图让NSRegularExpression使用捕获组模式。我有字符串abc{=2}和正则表达式模式{(.+)}来获取=2字符串,但是每次创建NSRegularExpression实例的尝试都以
Optional(Error Domain=NSCocoaErrorDomain Code=2048 "The operation couldn’t be completed. (Cocoa error 2048.)" UserInfo=0x7fad7253cb40 {NSInvalidValue={(.+)}})
代码:
var error: NSError?
let regexp