在进一步匹配之前,使用正则表达式收集组

时间:2016-12-27 15:34:35

标签: regex swift

这是从这里开始的问题的最后阶段:Regular Expression to match up to two operators

我有这个正则表达式:https://regex101.com/r/uzzSBL/3

第一组收集所有匹配的字符串,无论是否存在具有数字的运算符。

匹配组的示例:

Group 1: SOCCERCLUB*9+2,ZX,FP*7+8.90

我想修改正则表达式以收集字符串,WITHOUT运算符(如果它们存在)。

我想收集的例子

Group 1: SOCCERCLUB*9+2,ZX,FP*7+8.90   

Group 2: SOCCERCLUB,ZX,FP

任何人都可以帮助我吗? 谢谢

1 个答案:

答案 0 :(得分:0)

最好使用正则表达式来清除字符串,然后进行匹配。

let txt = "SOCCERCLUB*9+2,ZX,FP*7+8.90"
let regex = try! NSRegularExpression(pattern: "\\*|\\d|\\+|\\.", options: .allowCommentsAndWhitespace)
let newString = regex.stringByReplacingMatches(in: txt, options: .withoutAnchoringBounds, range: NSMakeRange(0, txt.characters.count), withTemplate: "")

print(newString) // SOCCERCLUB,ZX,FP