为什么';t grep是否以这个regexp结尾?
我试图用grep分析我拥有的一堆C#文件,以匹配特定类型的for循环。具体而言,任何与以下内容类似的内容都将匹配:为什么';t grep是否以这个regexp结尾?,regex,unix,grep,pcre,Regex,Unix,Grep,Pcre,我试图用grep分析我拥有的一堆C#文件,以匹配特定类型的for循环。具体而言,任何与以下内容类似的内容都将匹配: for (int i = 0; i < foo.Length; i++) { foo[i] = bar[i]; } for(int i=0;i
for (int i = 0; i < foo.Length; i++)
{
foo[i] = bar[i];
}
for(int i=0;i
在得知grep不支持多行后,我尝试了安装,但没有成功。下面是我的(当然是非常草率的)regexp:
(inti=0;i<[A-Za-z]*\.长度;i++)\n[*]\{\n[*][A-Za-z]*\[i\]=[A-Za-z]*\[i\];\n[*]\}
我大约在10分钟前运行了这个命令,它仍然在运行(尽管令人惊讶的是,CPU使用率非常低)。我做错什么了吗/有没有更快的方法来做这件事?
pcregremp
,与grep
不同,它不会从-r
推断“使用当前目录”,因此它正在等待输入,这使它看起来像挂起。明确指定路径:
pcregrep -rlM … .
pcregrep
,与grep
不同,它不从-r
推断“使用当前目录”,因此它正在等待输入,这使它看起来像挂起一样。明确指定路径:
pcregrep -rlM … .
pcregrep
,与grep
不同,它不从-r
推断“使用当前目录”,因此它正在等待输入,这使它看起来像挂起一样。明确指定路径:
pcregrep -rlM … .
pcregrep
,与grep
不同,它不从-r
推断“使用当前目录”,因此它正在等待输入,这使它看起来像挂起一样。明确指定路径:
pcregrep -rlM … .
如果您转义括号
\(
,\)
。它至少可以避免储蓄items@WashingtonGuedes嗯,我刚试过,它仍然挂着。我用另一种方式写了它:for\s*\([^]+\)\s*{\s*\w+\[\w+\]\s*=\s*\w+\[\w+\];\s*
@WashingtonGuedes谢谢!我刚刚测试了你的模式,它似乎比我的好得多。如果你跳过括号\(
,\)
。它至少可以避免储蓄items@WashingtonGuedes嗯,我刚试过,它仍然挂着。我用另一种方式写了它:for\s*\([^]+\)\s*{\s*\w+\[\w+\]\s*=\s*\w+\[\w+\];\s*
@WashingtonGuedes谢谢!我刚刚测试了你的模式,它似乎比我的好得多。如果你跳过括号\(
,\)
。它至少可以避免储蓄items@WashingtonGuedes嗯,我刚试过,它仍然挂着。我用另一种方式写了它:for\s*\([^]+\)\s*{\s*\w+\[\w+\]\s*=\s*\w+\[\w+\];\s*
@WashingtonGuedes谢谢!我刚刚测试了你的模式,它似乎比我的好得多。如果你跳过括号\(
,\)
。它至少可以避免储蓄items@WashingtonGuedes嗯,我刚试过,它仍然挂着。我用另一种方式写了它:for\s*\([^]+\)\s*{\s*\w+\[\w+\]\s*=\s*\w+\[\w+\];\s*
@WashingtonGuedes谢谢!我刚刚测试了你的模式,它似乎比我的好得多。我可能早该意识到这一点,哈哈。谢谢我可能早该意识到这一点,哈哈。谢谢我可能早该意识到这一点,哈哈。谢谢我可能早该意识到这一点,哈哈。谢谢