Swift:使用正则表达式替换子字符串不起作用

时间:2016-11-17 00:56:08

标签: regex swift nsregularexpression

我正在构建一个正则表达式来检测是否匹配以下字符串但它不起作用。这是我的代码:

var str = "asdasdd.ASD98ASD09ASD098ASD098ADS908"
let commsRegex = "\\D[a-z]{7,}.[^a-zA-Z0-9]{28,}"

if (str.rangeOfString(commsRegex,options: .RegularExpressionSearch) != nil) {

         str = "itwork.yes"   
        }

你们中的任何人都知道我做错了什么吗?

我真的很感谢你的帮助

1 个答案:

答案 0 :(得分:2)

您的注册表似乎不正确,尤其是此部分:

[ ^ a-zA-Z0-9]

注意粗体^,这意味着只匹配a-z A-Z和0-9中的字符而不是。我怀疑你想从你的正则表达式中删除那个角色。

另外,我不确定\\D,这会匹配任何非数字,但是你的字符串以7个字符开头,这似乎与下一部分匹配,也许应该删除如果你希望该字符串匹配正则表达式。