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"))