编译指示标记的 SwiftLint 规则

SwiftLint Rule for pragma mark

我正在尝试实施自定义 swiftlint 规则以跟踪“// MARK:”之前少于两行的时间。我不擅长正则表达式。这是我的规则:

    custom_rules:
pragma_mark:
name: "Wrong pagma mark format"
regex: "([^\n\n]?\/\/ MARK:)"
message: "Please leave two lines before // MARK:"
severity: warning

但是这个正则表达式是错误的。我做错了什么?也许 swiftlint 已经有了这个规则?但是我找不到

你需要用消极的眼光看后面。这是一个起点:

(?<!\n\n)\/\/ MARK:

这里是一个 RegExr 页面,解释了它是如何工作的,并提供了一些测试用例。

您可能希望不区分大小写,并容忍“MARK”前后的白色 space。