Cisco 启用提示的正则表达式
Regular expression for Cisco enable prompt
我正在寻找可以匹配任何这些启用提示的通用正则表达式,
RP/0/RP0/CPU0:ios#
RP/0/RP0/CPU0:R1#
RP/0/RP0/CPU0:CX1-SF#
RP/0/RP0/CPU0:~#
RP/0/RP0/CPU0:cisco#
并且不应与这些配置提示匹配,
RP/0/RP0/CPU0:ios(config)#
RP/0/RP0/CPU0:R1(config)#
RP/0/RP0/CPU0:R1(config-if)#
我是从这样开始的,
(.*?)RP/\d+/RP[01]/CPU\d+:.+#\s*?
但它也与配置提示相匹配,
在禁止 )
.
的 #
之前使用负面回顾
(.*?)RP/\d+/RP[01]/CPU\d+:.+(?<!\))#\s*?
您可以使用 [^()\n]*
省略匹配的括号或冒号后的换行符,然后匹配直到 #
请注意,您可以省略 \s*?
,因为它是模式的最后一部分并且是非贪婪的,因此它不会匹配任何字符。
(.*?)\bRP/\d+/RP[01]/CPU\d+:[^()\n]*#
说明
(.*?)
捕获组 1,匹配尽可能少的字符
\bRP
匹配前面有单词边界的 RP
/\d+/RP[01]/CPU\d+:
具体模式到:
[^()\n]*
可选地匹配除使用 negated character class 列出的任何字符
#
字面匹配
看到一个regex101 demo。
或者您可以在括号之间排除匹配的“config”:
(.*?)\bRP/\d+/RP[01]/CPU\d+:(?!\w+\(config\b[^()\n]*\)).+#
再看一个regex101 demo。
我正在寻找可以匹配任何这些启用提示的通用正则表达式,
RP/0/RP0/CPU0:ios#
RP/0/RP0/CPU0:R1#
RP/0/RP0/CPU0:CX1-SF#
RP/0/RP0/CPU0:~#
RP/0/RP0/CPU0:cisco#
并且不应与这些配置提示匹配,
RP/0/RP0/CPU0:ios(config)#
RP/0/RP0/CPU0:R1(config)#
RP/0/RP0/CPU0:R1(config-if)#
我是从这样开始的,
(.*?)RP/\d+/RP[01]/CPU\d+:.+#\s*?
但它也与配置提示相匹配,
在禁止 )
.
#
之前使用负面回顾
(.*?)RP/\d+/RP[01]/CPU\d+:.+(?<!\))#\s*?
您可以使用 [^()\n]*
省略匹配的括号或冒号后的换行符,然后匹配直到 #
请注意,您可以省略 \s*?
,因为它是模式的最后一部分并且是非贪婪的,因此它不会匹配任何字符。
(.*?)\bRP/\d+/RP[01]/CPU\d+:[^()\n]*#
说明
(.*?)
捕获组 1,匹配尽可能少的字符\bRP
匹配前面有单词边界的 RP/\d+/RP[01]/CPU\d+:
具体模式到:
[^()\n]*
可选地匹配除使用 negated character class 列出的任何字符
#
字面匹配
看到一个regex101 demo。
或者您可以在括号之间排除匹配的“config”:
(.*?)\bRP/\d+/RP[01]/CPU\d+:(?!\w+\(config\b[^()\n]*\)).+#
再看一个regex101 demo。