【发布时间】:2017-02-10 06:21:57
【问题描述】:
您能否提供一个 perl 脚本或命令来从文件中删除以下代码?在某些情况下,'-' 和 (void) 之间可能有空格。我尝试了很多变化,但没有让它发挥作用。谢谢!
-(void)dealloc {
... could be multiple lines here
[super dealloc];
}
以下是我尝试过的几件事:
perl -0777 -pe 's/- (void)dealloc.*\s*.*super dealloc];.*\n}//g' File.txt
perl -i -0pe 's/^'- (void)dealloc'.*\n.*[super dealloc];\n}$//' File.txt
perl -i -0pe 's/^-[ ](void)dealloc.*\n.*[super dealloc];\n}$//' File.txt
perl -i -0pe 's/^-\s(void)dealloc.*\n.*\\'[super dealloc]\';\n}$//' File.txt
【问题讨论】:
-
到目前为止你尝试了什么?
-
提前致谢。我用迄今为止尝试过的几件事更新了这个问题。
-
*在正则表达式中通常意味着零个或多个——因为空格是可选的,所以你的正则表达式中不需要*吗?或者如果它必须是零或一而不是零或多,则使用?。 -
谢谢,在问题上的努力会导致在答案中的努力:)