Перейти к следующей строке с оператором после if()

Предыдущий разработчик любил помещать отдельные утверждения в те же строки, что и соответствующие if()s. Я пытаюсь найти эти строки сейчас, чтобы исправить их! Я думал, что следующее регулярное выражение найдет их, но это не так:

/\^\s*if\.*;\$

/    Start search
\^   Beginning of line
\s*  Any amount of whitespace
if   Beginning of the if() statement
\.*  Any amount of characters
;    The end of the single statement
\$   End of the line

Итак, где я ошибся?

1 ответ

Решение

Каретка с обратной косой чертой \^ соответствует буквальному карету ^ не начало строки

Обычно символы со специальным значением называются метасимволами, экранированные метасимволы обычно соответствуют буквальному символу и теряют какое-либо особое значение.

Остерегайтесь других контекстов, в регулярных выражениях Perl ( является метасимволом захвата, но в awk эта роль отводится \(

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