Source insight使用之正则表达式

1.正则表达式中必须包含群组,即\(\)包含的部分。这部分将被作为关键字部分。

2.注释将被忽略,不计入正则表达式匹配范围,出现注释,则认为本行结束。

例:

在汇编语言中常以";"作为行注释开始,要只匹配以下第一行中的"T_DSEDAY"部分

:T_DSEDAY:;一些注释

:T_DSTEWN:.blkb1;一些注释

可以使用这样的表达式:

^:\([a-zA-Z0-9_]+\):\w+$

而只要匹配第二行中的"T_DSTEWN"可以使用

^:\([a-zA-Z0-9_]+\):\w+\.blkb\w+[0-9]+\w*$

正则表达式没有使用"大嘴法",即最大匹配,如果不一直匹配到行尾,

则第一个表达式将也匹配第二行的内容。

如果正则表达式中出现";"则将无法匹配。

如要匹配第一行但写成这样:

^:\([a-zA-Z0-9_]+\):\w+;*

将无法匹配任何结果。

这个估计和C预处理器中将注释直接处理为空格有关系。

相关推荐