例如
grep -n 'integer*2' *.f
Run Code Online (Sandbox Code Playgroud)
什么也没看.但是
grep -n '*2' *.f
main.f:57: integer*2 itime(nxmax)
main.f:605: dxy=((xsource(is)-xobs)**2+(ysource(is)-yobs)**2)**.5
main.f:622: chisum=chisum+diff2/uobs**2
model.f:15: integer*2 veli(nxmax)
model.f:52: size2=size**2
time.f:151: integer*2 itime(nxmax)
Run Code Online (Sandbox Code Playgroud)
我真的不明白这一点.
*是一个运算符,意思是"匹配前一个项0次或更多次".所以integer*2匹配
intege2
integer2
integerr2
integerrr2
:
Run Code Online (Sandbox Code Playgroud)
没有一个出现在你的程序中. *在RE 的开头是没有意义的(没有前一个术语),所以要么被忽略要么被视为匹配a *.逃脱*它以匹配一个真正的明星:
'integer\*2'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |