Regex 替换swift正则表达式

Regex 替换swift正则表达式,regex,swift,swift3,Regex,Swift,Swift3,我正在尝试使用字符串.replacingOccurrences将以下字符的所有匹配项更改为逗号: .$[] 然而,我似乎无法用我所拥有的来实现这一目标: func cleanStr(str: String) -> String { return str.replacingOccurrences(of: "[.#$[/]]", with: ",", options: [.regularExpression]) } print(cleanStr(str: "me[ow@gmai#l.

我正在尝试使用
字符串.replacingOccurrences
将以下字符的所有匹配项更改为逗号:

.$[]

然而,我似乎无法用我所拥有的来实现这一目标:

func cleanStr(str: String) -> String {
    return str.replacingOccurrences(of: "[.#$[/]]", with: ",", options: [.regularExpression])
}

print(cleanStr(str: "me[ow@gmai#l.co$m"))   // prints "me[ow@gmai,l,co,m\n"
有人能帮我看看我做错了什么吗?

在你的模式中,
[.$[/]
,有一个字符类联合,即它只匹配
$
字符(两个字符类的组合,
.[.\$]

在ICU正则表达式中,需要在字符类内转义文本方括号
[
]

"[.#$\\[/\\]]"
此代码输出
me,ow@gmai,l,co,m

func cleanStr(str: String) -> String {
    return str.replacingOccurrences(of: "[.#$\\[/\\]]", with: ",", options: [.regularExpression])
}
print(cleanStr(str: "me[ow@gmai#l.co$m"))