Regex pragma标记的SwiftLint规则
我正在尝试实现自定义swiftlint规则来跟踪“//MARK:”之前少于两行的时间。我不擅长正则表达式。这是我的规则:Regex pragma标记的SwiftLint规则,regex,swiftlint,Regex,Swiftlint,我正在尝试实现自定义swiftlint规则来跟踪“//MARK:”之前少于两行的时间。我不擅长正则表达式。这是我的规则: custom_rules: pragma_mark: name: "Wrong pagma mark format" regex: "([^\n\n]?\/\/ MARK:)" message: "Please leave two lines before // MARK:" severity: warning 但这个正则表达式是错误的。我做错了什么?也许swift
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:
(?
这里有一个页面解释了它是如何工作的,并提供了一些测试用例
您可能希望使此项不区分大小写,并允许在“标记”前后出现空格。请自己查看:您需要在后面进行负面查看。使用[^\n\n]
表示“匹配一个字符,该字符既不是\n
也不是对我不起作用的“\n”:(`}\n}\n//MARK:Header Extension\n Extension filtervewcontroller{`此处没有警告。可能自定义规则格式错误?用失败的测试用例创建一个regexr页面,并将其发布到此处。@SeverynKatolyk Oops,我已将其否定。我有一个肯定的查找((?)?