正则表达式 - 正则表达式匹配包含变量块的字符串

时间:2017-10-26 10:01:24

标签: regex

我试图从存储在变量中的值中找出搜索/匹配块语句的正则表达式。

下面的内容我存储在一个变量中,我在python中寻找一个正则表达式来grep

authentication {
admin-enabled enabled
syslog-admin-state disabled
}

来自此输入:

current-secret
key-min-len 8
search-method priority
global-servers on
privilege-level-admin 2
privilege-level-super 10
privilege-level-diag 15
authentication {
admin-enabled enabled
syslog-admin-state disabled
}
authorization {
admin-enabled disabled
}

2 个答案:

答案 0 :(得分:1)

试试这个:

authentication\s*{[^}]*}

请参阅Regex101.com

答案 1 :(得分:0)

提取所需配置块的另一种方法

authentication\s*{(\n|.)*?}

人类可读格式:按顺序匹配authentication中的字符,然后匹配任意数量的空格\s*。然后匹配{,后跟任意数量的新行或非新行号(\n|.)*。与?和最后一场比赛}

的懒人匹配

在工作中看到它:https://regexr.com/3h209