python perl 正则_vi 正则表示达与python, C#, perl正则表达式的区别?

有这样一段文本

// 实际空间为0x5050~0x509F

#define NSEVT_SM_SEC_CODEBASE NSEVT_SWDL_CODEBASE_END

//0x5050

#define NSEVT_SM_SEC_CODEBASE_END (NSEVT_SM_SEC_CODEBASE +

0x50

)

//0x50A0

// 实际空间为0x50A0~0x50F0

#define NSEVT_ION_CODEBASE_EXT NSEVT_SM_SEC_CODEBASE_END

//0x50A0

#define NSEVT_ION_CODEBASE_EXT_END (NSEVT_ION_CODEBASE_EXT + 0x50

)

//0x50F0

有这样一个正则表达式

#define\s+([a-zA-Z_0-9]+)\s+(0x[0-9A-F]*)\s*(//(.*))*$

使用python, C#, ultraedit中的 perl正表达表示式可以正确匹配, 但在vi中就死活不行

据说vi使用的正则表达式遵循posix标准,和unix下的 grep, awk,sed是一样的,

《OReilly.Learning.the.vi.and.Vim.Editors.7th.Edition.Jul.2008.pdf》中如是说:

For the most part, the same regular expressions work with other Unix programs, such

as grep, sed, and awk.Much more information on regular expressions can be found in the two O’Reilly books sed & awk, by Dale

Dougherty and Arnold Robbins, and Mastering Regular Expressions, by Jeffrey E.F. Friedl.

看来之前习惯使用的表示式在vi上要再学一习了, 想想也是,vi最初是在unix上用,接着推广到别的平台上,不遵循posix还遵循啥呢?

正好手里有 sed&awk这本书,参考之后再来看看对应上边的文本,用vi该怎么写表达式,现在搞得我连删除空白行都得在ultraedit中搞。。。

分享到:

2011-02-15 20:22

浏览 1731

分类:非技术

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值