1

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

/\^\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 ответ1

2

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .