我想构建一个正则表达式来查找我的项目中使用的所有强制解包,它应该排除以下内容,
- IBOutlet声明与! 在最后像
@IBOutlet weak var tableView: UITableView!
- 对象声明与 ! 在最后像
var separatorView: UIView!
- 不平等检查 跟!喜欢
a != b or a ==! b
我要匹配的语句
- 对于 A 在 B 中!
- 网址主机!
- 对象!
我不想匹配的语句
- @IBOutlet弱变量表视图:UITableView!
- var textView:UITextView!
我试过这个,它几乎可以通过查找所有以 ! 结尾的字符串来完成所需的工作,但它甚至显示 IBOutlet 和变量声明,这些声明也以 ! 所以没用。
w+([!])
这也与任何东西都不匹配。
(?!^IBOutlet$).w+([!])
不匹配字符串的列表是@IBOutlet, var 和 let在最后可以有 ! 的句子中。
我是正则表达式的初学者,因此非常感谢任何帮助。
终于明白了,
^((?!@|").)+w+([!|!"])
http://regexr.com/3fo7m