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

но это регулярное выражение неверно. что я делаю не так? Может быть, у swiftlint уже есть это правило? Но я не могу найти это

1 ответ

Решение

Вы должны будете использовать отрицательный взгляд позади. Вот отправная точка:

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

А вот страница RegExr, которая объясняет, как это работает, и предлагает несколько тестовых случаев.

Возможно, вы захотите сделать этот регистр нечувствительным и быть терпимым к пробелам до и после "MARK".

Другие вопросы по тегам