Я хотел бы создать шаблон сопоставления для любой открывающей скобки, которая не следует ни одному из следующих шаблонов:
{\n\n
{\s*\/\/.*\n\(\s*\/\/.*\)\?\n
Более общей проблемой является выделение нарушений спецификации кодирования на работе, что приводит к появлению пустой строки после {
Пояснение, я ищу это для отлова кода, подобного следующему:
if (foo) {
this_is_bad____no_blank_line_above();
} else {this_is_worse();}
while (1) { //This comment is allowed
//This one too
theres_nothing_wrong_with_this();
}
if (foo) {
....//<-- Ideally we could mark this as bad, due to the spaces here
otherwise_perfectly_good();
}
Что мне действительно нужно, так это: {\(\n\n\|\s*\/\/.*\n\(\s*\/\/.*\)\?\n\)\!
Где готовый символ \!
означает «Не соответствует ни одному из этих двух вариантов» .Я вижу способ сделать это для отдельных символов, но не для более длинной строки.