notepad++中使用正則表達式處理數(shù)據(jù)的步驟
如何使用正則表達式提取文本中的特定行?
以下是一個示例文本:
[ INFO] HW RTC: 2023-05-15 07:21:00
[ INFO] HW RTC timestamp:1684135260
[ INFO] NEXT WAKEUP:7:23, TIMESTAMP:1684135380
[ INFO] CmdName:AT+CPSMS=1,,,"123","123"
現(xiàn)在,我們希望提取特定行(在本例中是帶有 "NEXT WAKEUP" 字符串的行),并將其他行刪除。我們可以通過在 Notepad++ 編輯器中使用正則表達式實現(xiàn)這一目的。
步驟
以下是將正則表達式應用于該過程的步驟:
- 打開 Notepad++ 編輯器,打開需要提取數(shù)據(jù)的文本文件。
- 在 Notepad++ 編輯器中,按下
Ctrl+H
快捷鍵打開替換窗口。 - 在替換窗口中,選擇 "正則表達式" 選項。
- 在 "查找目標" 輸入框中填寫正則表達式
^(?!.*NEXT WAKEUP).*$\r?\n?
(詳細解釋見下面)。 - 點擊 "替換所有" 按鈕。
這樣,將刪除不包含所需字符串的所有行。在這個例子中,將保留包含 "NEXT WAKEUP" 字符串的那一行。
正則表達式
以下是用于查找并刪除文本中不需要的行的正則表達式:
^(?!.*NEXT WAKEUP).*$\r?\n?
該表達式由以下部分組成:
^
:以該模式匹配行的開頭。(?!.*NEXT WAKEUP)
:否定預測,匹配與該模式不匹配的任何內容,其中 ".*" 表示零個或多個字符(即不包含 "NEXT WAKEUP" 的任何字符串)。.*
:匹配零個或多個字符。\$
:匹配行的結尾。\r?\n?
: 匹配 Windows 或 Unix 下的換行符。
這個表達式的意思是:匹配任何以換行符結尾的行,其中不包含 "NEXT WAKEUP" 字符串。
示例
以下是應用上述步驟后修改文本的示例:
[ INFO] NEXT WAKEUP:8:53, TIMESTAMP:1684140780
[ INFO] NEXT WAKEUP:8:56, TIMESTAMP:1684140960
[ INFO] NEXT WAKEUP:8:59, TIMESTAMP:1684141140
[ INFO] NEXT WAKEUP:9:2, TIMESTAMP:1684141320
以上就是使用正則表達式提取文本中特定行的方法。
到此這篇關于notepad++中使用正則表達式處理數(shù)據(jù)的文章就介紹到這了,更多相關notepad++正則表達式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
php匹配網(wǎng)址的正則 幾乎可以匹配任何網(wǎng)址
php匹配網(wǎng)址的正則 幾乎可以匹配任何網(wǎng)址,需要的朋友可以參考下2013-05-05js正則表達式之$1$2$3$4$5$6$7$8$9屬性,返回子匹配的結果
$1-$9存放著正則表達式中最近的9個正則表達式的匹配結果,這些結果按照子匹配的出現(xiàn)順序依次排列2012-10-10