()
括弧で囲まれたテキストファイルから文章を印刷したいと思います。このテキストファイルの例1つの括弧 '()'よりも深いネストされた文を検索するにはどうすればよいですか?
:
blabla(nothing(print me)) nanana (nanan)
blablabla(aaaaaaa(eeee(bbbb(cccc)bbb))aa)
blabla (blabla(hhhhh))
出力は次のようになります。
#!/usr/bin/perl -w
open(FILE, "<", $ARGV[0]) or die "file open error";
if (@ARGV) #if there are args
{
if (-f $ARGV[0]) #if its regular file
{
while(<FILE>)
{
my @array = split('\)',$_);
foreach(@array)
{
if ($_ =~ /.*\((.*)/)
{
print "$1\n";
}
}
}
close(FILE);
}
else{
print "Arg is not a file\n";}
}
else{
print "no args\n";}
私のコードができます。
print me
eeee(bbbb(cccc)bbb)
bbbb(cccc)bbb
cccc
hhhhh
これは私がこれまで何をやったかであります深い括弧で囲まれた文を区切ります。
を印刷し、これはUbuntuのとは何の関係もありません。 Perlの正規表現は、すべてのオペレーティングシステムで一貫しています(少なくともPerlの特定バージョンの場合)。 –
私は使用しているシステムの情報のタイトルにUbuntuと入力しました。間違って申し訳ありません:) – Piodo
@Piodo謝罪する必要はありません。通常、十分でない情報よりも多くの情報を与える方が良いです。 – ThisSuitIsBlackNot