1

sed または awk の達人が私を助けてくれることを願っています。パターン範囲が 1 行から 3 行に及ぶ複数行パターンに一致させる必要があります。pcregrep を使用して結果にたどり着けません! 私が実現したいパターンは、このようになります=>

\s*\w+\s\w+\([A-Za-z,]*\)\s*\;\{

問題は、単語またはセミコロンの後に、パターンの次の部分が次の行で発生する場合と発生しない場合があります。また、ファイルによっては、パターンが 1 行で発生する場合もあります。

返信ありがとうございます。私はこのステップでほぼ1週間立ち往生しています!どんな種類の提案も大歓迎です:)

例:アップルオレンジ(プラム); キウイ {

また

アップルオレンジ(プラム);

キウイ

{

両方の式に一致する式。

4

1 に答える 1

2

\s*(\w+)\s+(\w+?)\((\w+)\);\s*(\w+)\s*{

あなたのはかなり近かった。MULTILINE正規表現を使用するときは、必ずフラグを設定して、複数の行にわたって一致するようにしてください。これは、文字列内の 4 つの単語すべてに一致します。あなたの例によると、

グループ 1:apple

グループ 2:orange

グループ 3:plum

グループ 4:kiwi

ここで正規表現を試すことができます

于 2012-06-18T15:46:06.280 に答える