0

我有一个这样的文件:

-- 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)但不以字符开头的行'

我试过这个正则表达式:

.*?decimal\(6,0\)

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

 declare Cg44_clifor  decimal(6,0)

第二个:

' declare Cg44_clifor  decimal(6,0)

如何排除第二个?我不想要以 . 开头的行'

4

1 回答 1

2

很容易试试这个:

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

甚至更好的版本:

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

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

编辑:

如果库在多行上匹配,这应该有效:

^\s*[^'\n]\s*.*?decimal\(6,0\)
于 2012-09-12T10:11:17.570 回答