BRE语法的理解
的应急服务国际公司外部服务接口。ESI提供开放的接口,用于集成安全解决方案,解决内部网络问题,如病毒、蠕虫、间谍软件和企业合规问题。属性创建的正则表达式的信徒基本正则表达式。由IEEE设计的BRE语法标准对传统的简单正则表达式语法进行了扩展,并允许grep、sed和awk等实用程序之间保持一致性。本节介绍的语法。的信徒基本正则表达式。由IEEE设计的BRE语法标准对传统的简单正则表达式语法进行了扩展,并允许grep、sed和awk等实用程序之间保持一致性。语法由指令-字符匹配操作符组成(在表1),重复运算符(见表2),或表达式锚(在表3) -用于定义搜索或匹配目标。
下面几节提供关于字符匹配和常用正则表达式的信息。
匹配字符运算符
定义搜索将匹配什么。
操作符 |
描述 |
样本 |
结果 |
. |
匹配任意一个字符。 |
grep .ord sample.txt |
匹配福特,主,2奥德在sample.txt文件中。 |
[] |
匹配括号中列出的任意一个字符 |
grep (cng)奥德sample.txt |
比赛只绳,北方,gord |
(^) |
匹配括号中未列出的任何一个字符 |
grep [^ cn]奥德sample.txt |
匹配主,2奥德等等,但并非如此绳或北方 |
grep (a-zA-Z)奥德sample.txt |
匹配aord,矿房,Aord,矿房等。 |
||
grep(^ 0 - 9)奥德sample.txt |
匹配Aord,aord等等,但并非如此2奥德等。 |
正则表达式重复操作符
量词描述搜索指定字符串的次数。中的字符匹配操作符一起使用表2搜索多个字符。
是操作符 |
描述 |
样本 |
结果 |
? |
匹配任何字符一次,如果它存在 |
egrep”?erd” sample text |
匹配伯德,群等等,erd |
* |
如果声明的元素存在,则多次匹配它 |
egrep“n。*rd” sample.txt |
匹配书呆子,”,neard等。 |
+ |
一次或多次匹配声明的元素 |
egrep sample.txt“[n] + erd” |
匹配书呆子,nnerd等等,但并非如此erd |
{n} |
完全匹配声明的元素n次 |
egrep sample.txt“[a - z] {2} erd” |
匹配恰,blerd等等,但并非如此书呆子,erd,buzzerd等。 |
{n} |
至少匹配声明的元素n次 |
egrep”。{2} sample.txt erd” |
匹配恰和buzzerd,但不书呆子 |
{n, n} |
至少匹配声明的元素n次数,但不要超过N次 |
egrep“n [e] {1,2} rd”sample.txt |
匹配书呆子和neerd |
正则表达式锚
:年代,代表替代.该命令使用的语法如下:s / pattern_to_match / pattern_to_substitute.
描述匹配模式的位置,是搜索常见字符串组合的方便工具。一些锚的例子使用了vi行编辑器命令操作符 |
描述 |
样本 |
结果 |
^ |
在一行的开头匹配 |
s / ^ / / |
在行首插入“blah” |
$ |
在一行的末尾匹配 |
s / $ / / |
在行尾插入“blah” |
\ < |
在单词的开头匹配 |
s / \ < / / |
在单词开头插入“blah” |
egrep sample.txt“\ <瞎说” |
匹配blahfield等。 |
||
\ > |
在单词的末尾匹配 |
s / \ > / / |
在单词末尾插入“blah” |
egrep sample.txt \ >胡说 |
匹配soupblah等。 |
||
\ b |
匹配在一个字的开头或结尾 |
egrep sample.txt“\ bblah” |
匹配blahcake和countblah |
\ B |
在单词中间进行匹配 |
egrep sample.txt“\ Bblah” |
匹配sublahper等。 |
参考文献
这一实现部分基于以下资源:
Lonvick, C.,《BSD syslog协议》,RFC评论的请求。RFC是Internet标准文档的一种常用格式。3164年,2001年8月
正则表达式引用:
正则表达式正则表达式。Regex指的是定义搜索模式的符号和字符序列。语法总结:
的信徒基本正则表达式。由IEEE设计的BRE语法标准对传统的简单正则表达式语法进行了扩展,并允许grep、sed和awk等实用程序之间保持一致性。语法: