簡體   English   中英

RegEx記事本++

[英]RegEx Notepad++

我有以下格式的一系列行:

               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

我需要通過正則表達式(notepad ++)查找的是“ STNO:”后面的數字。

大約有100種這樣的比賽。

我對STNO:\\ s + \\ d {4,5}感到厭倦,但這也使STNO進入了我不想要的比賽。 請幫忙。

我只需要保留匹配的結果,其余的我要刪除匹配的項目或將匹配的項目復制到新文件中,以較容易的為准。

我建議采用兩步法。 首先獲取所有帶有STNO的行和一個數字。 第二,刪除除數字以外的所有內容。

在查找對話框中選擇標記選項卡。 確保選中書簽行 在“ 查找內容”框中,輸入STNO:\\s*\\d+ ,然后單擊“ 全部標記”

訪問菜單=>搜索=>書簽=>復制書簽行。 然后粘貼到另一個緩沖區。 另外,要在同一個文件中使用菜單=>搜索=>書簽=>刪除未標記的行。 現在,您應該將所有需要的行放在緩沖區中。

進行正則表達式搜索並替換設置, 找到 ^.*STNO:\\s*(\\d+).*$然后替換\\1 然后單擊全部替換

以上假設每行只能找到一個數字。

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

因為只需要數字,所以另一種方法是在所需數字周圍放置換行符和一個標記,然后刪除沒有該標記的任何行,最后刪除該標記。

讓標記keep 進行搜索和替換設置查找keep並將替換為單個空格字符,確保未選擇區分大小寫 然后單擊全部替換 接下來,進行正則表達式搜索和替換設置, 找到要為^STNO:\\s*(\\d+)並將替換\\r\\nkeep\\1\\r\\n 您可能希望區分大小寫 然后單擊全部替換 接下來,使用查找keep 內容進行標記行(如上所述),然后按Menu => Search => Bookmark =>刪除未標記的行。 最后,進行搜索和替換設置, 找到keep將替換為為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM