簡體   English   中英

Notepad ++ RegEx:在后續行中搜索兩個單詞

[英]Notepad++ RegEx: Search two words in subsequent lines

考慮以下文本

-- 1.3.6.1.4.1.16213.2.3.1.2
    xfsCDMStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF XfsCDMStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Define the set of MIB Variables for the CDM status table."
        ::= { xfsCDMV1 2 }


    -- 1.3.6.1.4.1.16213.2.3.1.2.1
    xfsCDMStatusEntry OBJECT-TYPE
        SYNTAX XfsCDMStatusEntry
        MAX-ACCESS not-accessible
        STATUS current

需要過濾第一行包含“1.3.6.1.4.1.16213”和下一行包含“OBJECT-TYPE”的行。

輸出像

 -- 1.3.6.1.4.1.16213.2.3.1.2
    xfsCDMStatusTable OBJECT-TYPE
 -- 1.3.6.1.4.1.16213.2.3.1.2.1
    xfsCDMStatusEntry OBJECT-TYPE

有人可以幫助使用正則表達式模式。

試試這個表達式:

(?-s)^(?:(?:(?!.*?\R+.*?\bOBJECT-TYPE\b).*?$(?:\R+|$))|(^.*?\R+.*?\bOBJECT-TYPE\b.*?$))

替換為$1

它將需要這樣的輸入:

-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the set of MIB Variables for the CDM status table."
    ::= { xfsCDMV1 2 }


-- 1.3.6.1.4.1.16213.2.3.1.2.1
xfsCDMStatusEntry OBJECT-TYPE
    SYNTAX XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current


-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the set of MIB Variables for the CDM status table."
    ::= { xfsCDMV1 2 }

並輸出以下內容:

-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
-- 1.3.6.1.4.1.16213.2.3.1.2.1
xfsCDMStatusEntry OBJECT-TYPE
-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE

如果您只想指定值為1.3.6.1.4.1.16213的行,請使用以下命令:

(?-s)^(?:(?:(?!.*?1\.3\.6\.1\.4\.1\.16213.*?\R+.*?\bOBJECT-TYPE\b).*?$(?:\R+|$))|(^.*?\R+.*?\bOBJECT-TYPE\b.*?$))

用這個:

  • 找出什么: (\\-\\- 1\\.3\\.6\\.1\\.4\\.1\\.16213\\b[^\\r\\n]*[\\r\\n]+[^\\r\\n]*OBJECT-TYPE[^\\r\\n]*)([\\r\\n]+ [^\\r\\n]*)*[\\r\\n]*
  • 替換為: $1\\n
  • 選中“正則表達式”
  • “。匹配換行符”未選中

內容示例:

-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the set of MIB Variables for the CDM status table."
    ::= { xfsCDMV1 2 }


-- 1.3.6.1.4.1.16213.2.3.1.2.1
xfsCDMStatusEntry OBJECT-TYPE
    SYNTAX XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current


-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the set of MIB Variables for the CDM status table."
    ::= { xfsCDMV1 2 }


-- 1.3.6.1.4.1.xxxxx.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the set of MIB Variables for the CDM status table."
    ::= { xfsCDMV1 2 }

[全部替換]后:

-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
-- 1.3.6.1.4.1.16213.2.3.1.2.1
xfsCDMStatusEntry OBJECT-TYPE
-- 1.3.6.1.4.1.16213.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
-- 1.3.6.1.4.1.xxxxx.2.3.1.2
xfsCDMStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XfsCDMStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the set of MIB Variables for the CDM status table."
    ::= { xfsCDMV1 2 }

暫無
暫無

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

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