Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

有关正则表达式的更多信息

如果在创建新模板时选择了正则表达式选项,或者等效地,如果模板顶部包含 #conform 使用正则表达式的行,则可以在编写合规性评估规则时使用正则表达式。使用正则表达式的典型规则将使用“~=”通配符运算符,如以下示例所示:

一些最基本和最常用的正则表达式语法如下:

.

任何单个字符。请注意,要精确匹配句点,请在点前面加上反斜杠“\”。

*

前一个字符的零个或多个实例

+

上一个或多个前一个字符

?

零或前一个字符

[ ]

集合中的任何角色。[ch]at 匹配 “cat” 或 “hat”

[^]

任何不在集合中的角色。

( )

组模式。(cat|hat) 匹配 “cat” 或 “hat”

[a-zA-Z]

从 a 到 z 或 A 到 Z 的任何字符(包括

[0-9]

从 0 到 9(含)之间的任意整数

\

在保留的正则表达式字符(如“.”或“+”)前面使用,以匹配该特定字符。例如,要完全匹配“tacacs+”,需要“tacacs\+”,因为加号在正则表达式语法中具有特殊含义。

由于某些用户可能会意外地将通配符与正则表达式混淆,因此合规性评估工具会自动转换某些语句,如以下示例所示:

  • “ATM*”会自动转换为“ATM.*” - “ATM*”也与“AT”匹配,这在大多数情况下是用户无意的。

  • “*ATM”会自动转换为“.*ATM”——“*ATM”实际上是非法的正则表达式语法。

注意:

在正则表达式中使用时,会考虑空格。他们不会被忽视。

部分示例如下所示:

IP地址。*

匹配 IP 地址。

描述。*

以匹配描述。

TACACS\+

精确匹配“tacacs+”,而不仅仅是“tacacs”

版本 12\..*

确保版本以“12”开头。

净值 .*00

确保网络 ID 以两个零结尾

路由器 EIGRP (100|299)

匹配“路由器 eigrp 100”或“路由器 eigrp 299”

tacacs-server 主机 192\.122\。[0-9]+\.[0-9]+

确保 IP 地址声明为 192.122.x.y,其中 x 和 y 为整数。