0

我正在尝试构建一个基于签名的入侵检测系统,但是在将正则表达式与有效负载匹配时,我遇到了一个以插入符号开头的表达式,^这意味着在正则表达式的行首匹配。

我想确定的是,这应该在整个有效负载的开头还是只是在换行符之后的有效负载中的任何位置\n

4

1 回答 1

1

默认情况下,^代表字符串的开头

因此,假设您将整个有效负载(包括换行符)视为单个字符串,^则意味着在有效负载的开头。

如果要更改此行为,则需要通过在正则表达式的开头m添加来打开多行标志(?m)(取决于您使用的语言,可能还有其他方法)。

这个标志将匹配一行^的开头和结尾,字符串的开头和结尾变为可用and 。$\A\Z

于 2014-03-18T15:00:47.247 回答