在 vi 中使用的正则表达式,匹配是按最大匹配来进行查找的,但有时我们需要按最小匹配进行查找。那如何进行最小匹配查找呢? 应采用下面的方式: 最长查找: /\/\/.*( 查找以//开使,以 ( 结尾的行的字符串,如果一行中有多个 ( 字符,则匹配到最后一个为止。 最小查找 /\/\/.{-}( 它与上面的不同之处是,它仅找到第一个 ( 字符就结束。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6889/showart_9...
by lc0060305 - Linux文档专区 - 2008-06-11 15:33:26 阅读(782) 回复(0)
vi的替换命令: :ranges/pat1/pat2/g其中 : 这是vi的命令模式。 range 是命令执行范围的指定,可以使用百分号(%)表示所有行,使用点(.)表示当前行,使用美元符号($)表示最后一行。你还可以使用行号,例如10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行,等等。 s 表示其后是一个替换命令,类似Perl的替换函数。pat1 这是要查找并替换的一个正则表达式。 pat2 ...
============ 正则表达式只是一个字符模板,用来在搜索中匹配相同的字符. 在大多数的程序中,正则表达式是括在正斜杠中间的. 例如, /love/就是一个以正斜杠为分隔符的正则表达式,其中的 模板love 将用在搜索所有行中与它匹配的字符. 更为有趣的是 正则表达式可以被特殊的元字符控制.让我们通过下面的例子来进 一步了解这个概念. 有文本如下: Hi tom, I think I failed my anatomy test yesterday. I had a terri...
vi 中的正则表达式 (Regular Expression) =================================== .1. 定义和例子 ============ 正则表达式只是一个字符模板,用来在搜索中匹配相同的字符. 在大多数的程序中,正则表达式是括在正斜杠中间的. 例如, /love/就是一个以正斜杠为分隔符的正则表达式,其中的 模板love 将用在搜索所有行中与它匹配的字符. 更为有趣的是 正则表达式可以被特殊的元字符控制.让我们通过下面的例子来进 一步了解这个概...
闲言碎语不要讲...例子说明一切,比如下面这段我需要换成 ubb 标签vim 命令模式,输入:%s/.*src="\([^"]*\)"[^>]*>/[img]\1[\/img]/g替换为[img ]gu.jpg[ /img][img ]os.jpg[ /img][img ]hu.jpg[ /img][img ]ang.jpg[ /img]解释如下::命令执行状态%s表示查找并替换%s/a/b/ga 被查找的字符串(正则匹配);b 要替换成的文字;g 表示全局搜索替换(否则只处理找到的第一个结果)\([^"]*\)表示非引号的字符N个;外面 \(\) 表示后面...
vi 中的正则表达式 (Regular Expression) =================================== .1. 定义和例子 ============ 正则表达式只是一个字符模板,用来在搜索中匹配相同的字符. 在大多数的程序中,正则表达式是括在正斜杠中间的. 例如, /love/就是一个以正斜杠为分隔符的正则表达式,其中的 模板love 将用在搜索所有行中与它匹配的字符. 更为有趣的是 正则表达式可以被特殊的元字符控制.让我们通过下面的例子来进 一步了解这...
| 指示交替,如home|house 指匹配home或house () 用于分组,如home|house可以写为ho(me|use) [color="red"]*可以用到()上[color="red"](home|house)* 可以匹配home, homehouse,househome, homehousehomehouse \(...\) 实际匹配的文本可以使用\1、\2等在替换命令的替换部分进行检索 + 可匹配正则表达式的一次或多次出现,既可以是单个字符也可以是()或\(...\)括起的内容,至少匹...
——有关vi中的查找替换等操作的,觉得很有用,故贴到自己这里:) vi 中的正则表达式 (Regular Expression) =================================== .1. 定义和例子 ============ 正则表达式只是一个字符模板,用来在搜索中匹配相同的字符. 在大多数的程序中,正则表达式是括在正斜杠中间的. 例如, /love/就是一个以正斜杠为分隔符的正则表达式,其中的 模板love 将用在搜索所有行中与它匹配的字符. 更为有趣的是 正则表达...
| 指示交替,如home|house 指匹配home或house () 用于分组,如home|house可以写为ho(me|use) *可以用到()上(home|house)* 可以匹配home, homehouse,househome, homehousehomehouse \(...\) 实际匹配的文本可以使用\1、\2等在替换命令的替换部分进行检索 + 可匹配正则表达式的一次或多次出现,既可以是单个字符也可以是()或\(...\)括起的内容,至少匹配一次 ho(use...
vi 中的正则表达式 (Regular Expression) =================================== .1. 定义和例子 ============ 正则表达式只是一个字符模板,用来在搜索中匹配相同的字符. 在大多数的程序中,正则表达式是括在正斜杠中间的. 例如, /love/就是一个以正斜杠为分隔符的正则表达式,其中的 模板love 将用在搜索所有行中与它匹配的字符. 更为有趣的是 正则表达式可以被特殊的元字符控制.让我们通过下面的例子来进 一步了解这个概...