我很久以前就有这个疑问,一直无法理解。在 Suricata 放置规则的示例配置文件 drop.conf 中,出现以下示例行:
# Rules matching specifiers in this file will be converted to drop rules.
#
# Examples:
#
# 1:2019401
# 2019401
#
# re:heartbleed
# re:MS(0[7-9]|10)-\d+
最后一行的表达式是什么意思?MS(0[7-9]|10)-\d+
谢谢
这个正则表达式的
MS(0[7-9]|10)-\d+
意思是:MS
: 文字MS
字符串。:介于和[7-9]
之间的字符类(包含 和 ),因此以下任一者:、或。:以下任意一个:、或。: 字面破折号 ( )。: 1 个或多个数字,即任何-出现多次。7
9
7
8
9
(0[7-9]|10)
07
08
09
10
-
-
\d+
0
9
这匹配,例如:
这不匹配,例如:
对于正则表达式的 Perl 风格(请注意,还有其他正则表达式风格),请参阅:
perldoc perlre
:Perl 正则表达式(regexes)perldoc perlrequick
:Perl正则表达式快速入门