在 Cisco 配置中寻找用户

Looking for users in Cisco configuration

我需要一个表达式来获取 cisco 中没有较低权限 0 或 1 的用户。 可以通过以下方式在配置文件中找到用户:

username myuser privilege 15 password 7 5345345345

所以,我正在尝试使用表达式:

(username.*privilege )(?!([01]))( password 7)

获取任何用户名具有“用户名权限”的所有行,后跟一组非 0 或 1 的字符,然后是“密码”和其他字符。

但是在一些在线测试器网页上测试我没有收到想要的结果。 我做错了什么?

非常感谢

您可以在 [01]\b 之后添加一个单词边界,当该断言为真时,您仍然需要使用 [0-9]+

来匹配数字

该模式从字面上匹配密码 7,但您也可以在此处使用 [0-9]+ 来匹配数字。

.*\b(username.*privilege) (?![01]\b)[0-9]+ (password [0-9]+).*

Regex demo

注意,如果只想匹配整行,可以省略捕获组:

.*\busername.*?privilege (?![01]\b)[0-9]+ password [0-9].*