`

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中搞。。。

分享到:
评论

相关推荐

    关于在LABVIEW中使用正则匹配公式.vi

    在labview中使用正则匹配模式很简单,难的就是使用正则表达式。很多人都搞不明白,查了很多资料还是不太明白。实际上就是一些类似通配符在作怪和其他语言也差不多。附件带上了,可以研究研究,构造正则表达式的方法...

    正则表达式素材3

    正则表达式的概念始于文本编辑器,如vi和emacs,后来被广泛应用于各种编程语言和工具中,如Perl、Python、JavaScript、Java等。它们在数据验证、搜索替换、文件查找、网页爬虫等领域有着广泛的应用。 1. **基础概念...

    正则表达式袖珍手册

    #### 一、正则表达式与模式匹配简介 **正则表达式**(Regular Expression),简称regex或regexp,是一种强大的文本处理工具,它允许开发者通过简单的语句来匹配字符串中的特定模式。这种模式可以是单一的字符,也...

    JAVA 正则表达式

    脚本语言如Python、Tcl、JavaScript和Perl也都支持正则表达式,其中Perl在文本处理方面的应用尤为出色。 在Java语言中,正则表达式的支持起步较晚。早期Java开发者通常依赖第三方类库来实现正则表达式功能,这些...

    正则表达式之道.doc

    正则表达式在多种工具中都有应用,包括但不限于文本编辑器、脚本语言(如Perl、Python等)、命令行工具(如grep、sed、awk)等。 **1. vi 文本编辑器** - **文本替换**: 在vi编辑器中,使用`:%s/pattern/...

    正则表达式正则表达式.doc

    它们存在于多种平台和语言中,如UNIX工具(如sed、grep、vi)和现代编程语言(如JavaScript、Python、Java等)。 正则表达式有两种主要形式:基本正则表达式(BRE)和扩展正则表达式(ERE)。ERE在BRE的基础上添加了更...

    正则表达式大全.doc

    正则表达式在多种平台上都有应用,包括 Unix 平台下的程序,如 xsh、egrep、sed、vi 等。它们可以被很多语言采纳,如 HTML 和 XML,这些采纳通常只是整个标准的一个子集。 正则表达式的语法看起来很相似,这是因为...

    正则表达式-随心查找随心所用

    正则表达式的核心在于构建匹配模式,通过特定的元字符和语法,与目标数据进行比对,实现数据验证、搜索和替换等功能。 正则表达式的语法通常由斜杠(`/`)包围的模式组成。模式中包含元字符,比如`+`、`*`和`?`,它们...

    JAVA 正则表达式(超详细)

    许多脚本语言也支持正则表达式,例如 Python、Tcl、JavaScript 和 Perl。 2. Java 正则表达式的历史:Java 一直以来没有自带对正则表达式的支持,直到 Java 1.40 版本引入了 java.util.regex 包。之前,许多第三方...

    grep与正则表达式

    ### grep与正则表达式详解 #### 一、引言 `grep` 是一款强大的文本搜索工具,它能够帮助用户快速地在文件中查找符合特定模式的字符串。结合正则表达式,`grep` 可以实现更为复杂精确的文本搜索任务。本文将详细...

    正则表达式使用详解及使用实例

    由于其强大的功能,正则表达式广泛应用于各种编程语言和系统工具中,如Unix/Linux系统下的`vi`编辑器、Perl和PHP脚本语言、以及`awk`或`seds`hell程序等。除此之外,现代Web开发中使用的JavaScript等客户端脚本语言...

    正则表达式参考

    本书旨在介绍多种编程语言环境下正则表达式的使用方法,包括但不限于 C、Perl、PHP、Java、.NET、Python、vi 以及 POSIX 正则表达式库。 #### 二、正则表达式基础知识 在深入了解不同编程语言中的正则表达式之前,...

    正则表达式– 教程

    - **编程语言**:几乎所有现代编程语言都支持正则表达式,包括 C++、Perl、Python、Java、JavaScript 等。 - **脚本语言**:如 awk 和 sed 支持正则表达式。 - **数据库查询语言**:SQL 中也支持正则表达式的使用。 ...

    一些常用正则表达式常用

    ### 正则表达式知识点详解 #### 一、基本概念与元字符介绍 **正则表达式**是一种用于模式匹配的强大工具,在文本处理、搜索替换等场景中有着广泛的应用。正则表达式的元字符包括但不限于以下几种: 1. **`.`...

Global site tag (gtag.js) - Google Analytics