如何构建正则表达式模式Swift

时间:2016-02-01 16:19:26

标签: regex swift nsregularexpression

我正在尝试构建Regex,但它不起作用。有人可以帮忙吗?

我有一个字符串,我想删除以下字符:

  

* _- + =#产品:><&安培; [] \ n上

并指示删除(/)

之间的所有文字

代码是belkow:

if let regex = try? NSRegularExpression(pattern: "&[^*_-=;](\\)*;", options: .CaseInsensitive) {
let modString = regex.stringByReplacingMatchesInString(testString, options: .WithTransparentBounds, range: NSMakeRange(0, testString.characters.count), withTemplate: "")
print(modString)

}

1 个答案:

答案 0 :(得分:2)

您可以使用

"\\(/[^)]*\\)|[*\r\n_+=#:><&\\[\\]-]"

请参阅regex demo

\\(/[^)]*\\)备选方案处理 (/) 之间的所有文字,[*_+=#:><&\\[\\]-]将匹配您需要匹配的所有单个字符。

请注意,正则表达式中的连字符必须是双重转义,或者放在字符类的开头或结尾。你的正则表达式不起作用,因为它创建了一个无效的范围:

enter image description here