我正在尝试为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自定义规则中使用*
和+
吗?
答案 0 :(得分:2)
似乎量词可以应用于您明确定义的字符集。在这种情况下,我只需将.
替换为[\h\S]
(包括水平空格字符和任何其他不是空白字符的字符)。
custom_rules:
multi_clause_guard:
regex: 'guard [\h\S]*,'
如果有人知道如何使量词与.
一起使用,我仍然有兴趣知道!