RegEX - 不匹配以特定字符开头的行

时间:2012-09-12 10:09:56

标签: regex vb6 match

我有一个这样的文件:

-- START 
.
.
Err_EstensioneDatiClientiFornitori:
    Set ClsExtClifor = Nothing
    Set CallInterface = Nothing
    Call MsgError("EstensioneDatiClientiFornitori")
End Sub

 declare Cg44_clifor  decimal(8,0)
 declare Cg44_clifor  decimal(6,0)
' declare Cg44_clifor  decimal(6,0)
PC_CalcolaSaldoAllaData
PC_CalcolaSaldoMensileParziale
.
.
--END 

我必须仅匹配包含decimal(6,0)但不以字符'开头的行。

我试过这个regEx:

.*?decimal\(6,0\)

我得了两场比赛。第一个:

 declare Cg44_clifor  decimal(6,0)

第二个:

' declare Cg44_clifor  decimal(6,0)

如何排除第二个?我不希望以'开头的行。

1 个答案:

答案 0 :(得分:1)

很容易尝试这个:

^[^'].*?decimal\(6,0\)

甚至更好的版本:

^(\s*[^']\s*)\w.*?decimal\(6,0\)

在检查单引号之前,会跳过任何空格。

编辑:

如果库匹配多行,则应该有效:

^\s*[^'\n]\s*.*?decimal\(6,0\)