Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 正则表达式获取Swift中一对方括号之间的文本_Ios_Swift_Regex_Nsregularexpression - Fatal编程技术网

Ios 正则表达式获取Swift中一对方括号之间的文本

Ios 正则表达式获取Swift中一对方括号之间的文本,ios,swift,regex,nsregularexpression,Ios,Swift,Regex,Nsregularexpression,Lorem Ipsum。乱数假文。[链接至:店铺页面\“店内提货\”]了解更多信息[\/链接至] 给定上面的一个示例字符串(它包括HTML),我从第三方服务获得该字符串,我无法控制对其进行改进或规范化以符合HTML标准 我需要以某种方式解析此部分[链接到:商店页面\“instore Picking\”]了解更多信息[\/链接到]以获取了解更多信息值 我尝试了\[.\\\](.*?\[.\\\]regex,但它不能满足我的需要。 因此,获取[链接到:商店页面\“店内提货\”]了解更多[/link

Lorem Ipsum。乱数假文。[链接至:店铺页面\“店内提货\”]了解更多信息[\/链接至]

给定上面的一个示例字符串(它包括HTML),我从第三方服务获得该字符串,我无法控制对其进行改进或规范化以符合HTML标准

我需要以某种方式解析此部分
[链接到:商店页面\“instore Picking\”]了解更多信息[\/链接到]
以获取
了解更多信息

我尝试了
\[.\\\](.*?\[.\\\]
regex,但它不能满足我的需要。 因此,获取
[链接到:商店页面\“店内提货\”]了解更多[/link to]

func匹配(对于regex:String,在text:String中)->[String]{
做{
让regex=尝试NSRegularExpression(模式:regex)
设nsString=文本为nsString
让results=regex.matches(in:text,range:NSRange(位置:0,长度:nsString.length))
返回results.map{nsString.substring(带$0.range)}
}捕捉错误{
打印(“无效的正则表达式:\(错误.localizedDescription)”)
返回[]
}
}

Wiktor,感谢您指出这一工作片段:

func匹配(对于regex:String,在text:String中)->[String]{
做{
让regex=尝试NSRegularExpression(模式:regex)
设nsString=文本为nsString
让results=regex.matches(in:text,range:NSRange(位置:0,长度:nsString.length))
return results.map{nsString.substring(with:$0.range(at:1))}
}捕捉错误{
打印(“无效的正则表达式:\(错误.localizedDescription)”)
返回[]
}
}

$0.range(at:1)
给出组1。

这是因为在代码中,您不访问捕获组1,而是访问整个匹配。