2017-08-02 14 views
1

SwiftLintのカスタムルールを作成しようとしています。 readmeの指示に従って、私は.swiftlint.ymlに以下を追加しました:SwiftLintのカスタムルールに正規表現*と+を使用する方法

custom_rules: 
    multi_clause_guard: 
    regex: 'guard .*,' 

しかし、この正規表現は、そこには、例えば、それが一致している必要がありますラインのたくさんあるにも関わらず、私のプロジェクト内のすべての行を一致していません。

guard let x = Int(s), let y = Int(t) else { return } 

私は正規表現のための様々な他の値を試してみた、とあなたは数量詞を紹介までそれが動作します。

  • 'guard .,'guard a,
  • 'guard ..,'に一致するラインguard _a,
  • にマッチする
  • 'guard .*,'guard a,
  • 'guard .+,'ラインと一致しないであろうguard a,
と一致しません

私は使用できる方法はありますかSwiftLintカスタムルールのと+

答えて

1

明示的に定義した文字セットには量限定子を適用できます。この場合、.[\h\S](これには水平空白文字と空白文字以外の文字が含まれています)に置き換えるだけで十分でした。

custom_rules: 
    multi_clause_guard: 
    regex: 'guard [\h\S]*,' 

.で量子化を行う方法を知っている人は誰でも知りたいと思っています。

関連する問題