分享

正则表达式的学习

 喜欢雨路的火焰狼 2006-11-07
正则表达式就是用某种模式去匹配一类字符串的一个公式
由普通字符和一些元字符组成,普通字符保护大小写的字母和数字,元字符则有特殊含义,最重要的是正确的理解元字符
.  匹配任何单个字符
$  匹配行结束符
^  匹配行的开始
*  匹配0或多个正好在它之前的字符
\  引用符,后面的元字符当作普通字符
[ ] 匹配括号中的任何一个字符,可以在括号中使用连字符-来指定字符的区间,还可以制定多个区间,另一个重要的用法是“排除”,要想匹配除了指定区间之外的字符——也就是所谓的补集——在左边的括号和第一个字符之间使用^字符
\< \> 匹配词(word)的开始(\<)和结束(\>)。注意:这个元字符不是所有的软件都支持
\( \)  将 \( 和 \) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用
|  将两个匹配条件进行逻辑“或”(Or)运算, 注意:这个元字符不是所有的软件都支持的。
+  匹配1或多个正好在它之前的那个字符, 注意:这个元字符不是所有的软件都支持的。
  匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。
\{i\}
\{I,j\}匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式A[0-9]\{3\} 能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。而正则表达式[0-9]\{4,6\} 匹配连续的任意4个、5个或者6个数字字符。注意:这个元字符不是所有的软件都支持的。
要想匹配行首的字符要使用抑扬字符(^)当抑扬字符(^)出现在方括号中是,它表示“排除”
要指定特定数量的匹配,要使用大括号(注意必须使用反斜杠来转义)。
另外vi的替换命令:
:ranges/pat1/pat2/g
range 是命令执行范围的指定,可以使用百分号(%)表示所有行,使用点(.)表示当前行,使用美元符号($)表示最后一行。你还可以使用行号,例如10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行,等等。
s 表示其后是一个替换命令。
g 可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多