Vim上古神器Vim正则表达式

程序员都应该掌握的正则表达式

2017-10-16  本文已影响38人  凯adivol
正则表达式

内容简介


1. 匹配任意字符
2. 匹配特殊字符
3.匹配多个字符中的某一个
4.一些特殊区间
5.匹配特定的字符类别
6.匹配零个以上的字符

匹配任意字符


命令:.字符,可以匹配任何一个单个的字符。

示例文本:
python1.py
pythond2.py
python3.py
pytho4.py

正则表达式:python.

结果:python1.py python3.py

匹配特殊字符


命令:\,这是一个元字符,它永远出现在一个有着特殊含义的字符序列,对特殊含义的字符序列进行转义,而什么是特殊字符呢!大部分的命令字符都是特殊字符。

匹配多个字符中的某一个


命令:[ ],它匹配字符集合中个其中一个字符。

示例文本:test1.js mesivefor.xml xvideote.java

正则表达式:[td]e

结果:test1.js xvideote.java

一些特殊区间


命令:
1.[A-Z]:匹配从A到Z的所有大写字母

2.[a-z]:匹配从a到z的所有小写字母

3.[A-z]:匹配从ASCII字符A到ASCII字符z的所有字母

4.[0-9]:匹配从0到9的任意一个整数

5.[^0-9]:取非的意思,匹配任何不是整数的字符,特别注意^的效果是作用
于给定字符集合里的所有字符或字符区间,而不是仅限于紧跟在^字符后面的那一个字符或字符区间,比如[^0-9a-z]的区间内都取非了。

匹配特定的字符类别


命令:

1.\d:任何一个数字字符(等价于[0-9]

2.\D:任何一个非数字字符(等价于[^0-9]

3.\w:任何一个字母数字字符(大小写均可)或者下划线字符(等价于[a-zA-Z0-9_]

4.\W:任何一个非字母数字或者下划线字符(等价于[^a-zA-Z0-9_]

5.\s:任何一个空白字符

6.\S:任何一个非空白字符

匹配零个以上的字符


命令:
1.+:匹配一个或者多个字符,但是至少一个,不匹配零个字符的情况。比如a+ ,[0-9]+,\w+

2.*:匹配零个或多个字符,可以匹配零个,这是它与+的区别(通常放在字符或字符集合后面发挥它的强大的作用)

3.?:匹配一个或零个字符,也就是最多不超过一次,对于那些可能出现又有可能不出现的情况很有用,比如http和https

4.{ }:重复匹配的次数,比如s{2}s重复出现两次,{2,4}重复出现2到4次,{3,}至少重复3次。

向着目标一直往前走,尽管它离你很远,没关系你可以闭着眼(> ... <)

上一篇下一篇

猜你喜欢

热点阅读