以前的开发人员喜欢将单个语句放在与其相关的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 中,这个角色被赋予\(