複数の行にまたがることができる/できない次のようなパターンがファイルにあります:
abcd25
ef_gh
( fg*_h
hj_b*
hj ) {
私が試したこと:
perl -nle'print while m / ^ \ s *(\ w +)\ s +(\ w +?)\ s *(([\ w-0-9、* \ s] ))\ s {/ gm'
ここでフラグが何を意味するのかわかりませんが、パターンのaを記述し、regex
それをパターンスペースに挿入するだけでした。これは、パターンが次のように1行にある場合によく一致します。
abcd25 ef_gh ( fg*_h hj_b* hj ) {
しかし、複数行の場合にのみ失敗します!
私は昨日perlから始めましたが、構文があまりにも混乱しています。それで、私たちの仲間のSOメイトの一人が提案したように、私はそれを書き、regex
彼から提供されたコードに挿入しました。
perl
この場合、僧侶が私を助けてくれることを願っています。代替ソリューションは大歓迎です。
入力ファイル :
abcd25
ef_gh
( fg*_h
hj_b*
hj ) {
abcd25
ef_gh
fg*_h
hj_b*
hj ) {
jhijdsiokdù ()lmolmlxjk;
abcd25 ef_gh ( fg*_h hj_b* hj ) {
期待される出力:
abcd25
ef_gh
( fg*_h
hj_b*
hj ) {
abcd25 ef_gh ( fg*_h hj_b* hj ) {
入力ファイルには、必要なパターンの開始パターンと終了パターンと一致する複数のパターンを含めることができます。返信ありがとうございます。