2

我正在尝试为SwiftLint编写自定义规则。按照自述文件中的说明,我将以下内容添加到.swiftlint.yml

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 自定义规则中*使用?+

4

1 回答 1

2

量词似乎可以应用于您明确定义的字符集。.在这种情况下,我用[\h\S](包括水平空白字符和任何其他不是空白字符的字符)替换就足够了。

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

如果有人知道如何使用量词.,我仍然很想知道!

于 2017-08-02T16:52:35.003 回答