0

次の形式の一連の行があります。

               LINE:  5190 STNO:  22669  SI: VOICE
          CCT   LINE    STNO  SI    BUS TYPE
          003   6269                OPTI ONLY     
           MULTLINE 8. . . . . . . . . . . . . . .
           001 SUBUNIT . . . . . DIGITE MAIN      DEFIL/TRS
           (ALT_ROUT: N)       (OPTIIP  )
               LINE:  5291 STNO:  29956  SI: VOICE

正規表現(メモ帳++)で見つける必要があるのは、「STNO:」の直後の数字です

そのような一致は約 100 あります。

STNO:\s+\d{4,5} に疲れましたが、STNO が望まない試合にも取り込まれています。助けてください。

一致した結果のみを保持する必要があり、一致したアイテムを削除するか、新しいファイルにコピーする方が簡単です。

4

1 に答える 1

1

2段階のアプローチをお勧めします。最初に、STNO と番号を含むすべての行を取得します。次に、番号以外のすべてを削除します。

検索ダイアログで [マーク] タブを選択します。ブックマーク行がチェックされていることを確認します。[検索対象]ボックスに と入力し、[すべてマークSTNO:\s*\d+] をクリックします。

アクセス メニュー => 検索 => ブックマーク => ブックマークされた行をコピーします。次に、別のバッファに貼り付けます。または、同じファイルで作業するには、Menu => Search => Bookmark => Remove unmark lines を使用します。これで、必要なすべての行がバッファーに含まれているはずです。

正規表現検索を実行し、設定を検索して次のもの置換し、 to に^.*STNO:\s*(\d+).*$置換します。次に、[すべて置換] をクリックします。\1

上記は、1 行に 1 つの数字しかないことを前提としています。

=========================

数字のみが必要なため、別の方法として、必要な数字の周りに改行とマーカーを配置し、マーカーのない行を削除し、最後にマーカーを削除します。

マーカーを とするkeep。検索と置換の設定を行います 何を検索し、単一のスペース文字に置換します。大文字と小文字を区別するが選択されていないことを確認してください。次に、[すべて置換] をクリックします。次に、正規表現検索を行い、Find what to beとReplace with toの設定を置換します。Match caseにチェックを入れたいかもしれません。次に、[すべて置換] をクリックします。次に、[検索] を に設定して(上記のように) 行をマークし、続いて [メニュー] => [検索] => [ブックマーク] => [マークされていない行を削除] を実行します。最後に、設定を検索して置換しますkeep^STNO:\s*(\d+)\r\nkeep\1\r\nkeepkeep置き換えて空にします。

于 2013-07-19T14:55:48.300 に答える