当前位置:网站首页>ICer技能01正则匹配
ICer技能01正则匹配
2022-06-23 03:52:00 【捌肆幺幺】
1.匹配指令
| 符号 | 作用 |
|---|---|
| . | 匹配任意一个字符 |
| [abc] | 匹配方括号中的任意一个字符(可以使用-表示字符范围,如[a-z 0-9]匹配小写字母和阿拉伯数字) |
| [^abc] | 匹配除方括号中字符之外的任意字符 |
| \d | 匹配阿拉伯数字,等同于[0-9] |
| \D | 匹配阿拉伯数字之外的任意字符,等同于[^0-9] |
| \x | 匹配十六进制数字 |
| \X | 匹配十六进制数字之外的任意字符 |
| \w | 匹配单词字母,等同于[0-9 A-Z a-z] |
| \W | 匹配单词字母之外的任意字符 |
| \t | 匹配TAB字符 |
| \s | 匹配空白字符 |
| \S | 匹配非空白字符 |
2.位置符号
| 符号 | 表示的位置 |
|---|---|
| $ | 匹配行尾 |
| ^ | 匹配行首(和[^abc]中的符号作用不同) |
| \ < | 匹配单词词首 |
| \ > | 匹配单词词尾 |
3.数量符号
| 符号 | 表示的数量 |
|---|---|
| * | 匹配0-任意个 |
| \ + | 匹配1-任意个 |
| \ ? | 匹配0-1个 |
| \ {n,m} | 匹配n-m个 |
| \ {n} | 匹配n个 |
| \ {n,} | 匹配n-任意个 |
| \ {,m} | 匹配0-m个 |
4.特殊符号
| 符号 | 作用 |
|---|---|
| \ * | 匹配*字符 |
| \ . | 匹配.字符 |
| \ / | 匹配/字符 |
| \ \ | 匹配\字符 |
| \ [ | 匹配[字符 |
5.几个例子
①把所有单词help或Help都改为大写的HELP
:%s/[Hh]elp/HELP/g
- :命令指示
- %所有行有效
- s查找替换
- [Hh]带H或h
②使用单个空格替换一个或多个空格
:%s/ \ +//g
- \ +表示数量
- //中没有间距就是无空格
③删除所有空行(没有任何字符,除了一个回车符)
- :g/^ $ /d:匹配到行首行尾中间无字符则删除
- :g/[ \t]*$/d:多个空格到行尾删除
④删除含有某些字符的行
:g/ERROR/d
- 记住就好hhh
⑤删除每行的所有的前导空格
:%s/^ *//g
- ^ *:表示从行首知道有字符
⑥在文件中的每一行的开始插入“->”
:%s/^/->/g
- 定位行首,插入字符即可
⑦删除以[a,b,c]开头的行
:%s/^ [a|b|c].*$//g
- 删除abc开头的行,而不是a开头或者b开题或者c开头
⑧使用“\ (”和“\ )”符号括起正规表达式,即可在后面使用\1 \2等变量来访问 \ (和\ )中的内容
例:/ \ (a\ +\ )[^a]\ +\1
头和结尾处a的个数相同的字符串
- 相当于保存下来再调用
匹配aabbbaa
匹配aaacccaaa
不匹配abbbaa
⑧交换列表中所有连字符分隔的条目的顺序
ABC: XYZ
: %s/ (.* \ ):\ (.*\ )/\2:\ 1/g
- 先存任意字符到\1
- 然后匹配冒号:
- 再存任意字符到\2
- 然后1 2 互换代替
边栏推荐
- Precautions for running high-frequency and high-speed signal lines near PCB board - basic principles for high-frequency and high-speed signal design
- Abnova PSMA磁珠解决方案
- Openjudge noi 1.13 51: ancient password
- Usage of API interface test ------ post
- Dpr-34v/v two position relay
- OGNL Object-Graph Navigation Language
- Usage of apipost interface test ------ get
- gson TypeAdapter 适配器
- Const understanding one
- 重装Cadence16.3,失败与成功
猜你喜欢

如何解决独立站多渠道客户沟通难题?这款跨境电商插件一定要知道!

在Pycharm中对字典的键值作更新时提示“This dictionary creation could be rewritten as a dictionary literal ”的解决方法

#18生成器函数的参数传递

DSP7 环境

Precautions for running high-frequency and high-speed signal lines near PCB board - basic principles for high-frequency and high-speed signal design

OGNL Object-Graph Navigation Language

聊聊 C# 中的 Composite 模式

ApiPost接口测试的用法之------Post

C语言刷题随记 —— 自由落体的球

Abnova acid phosphatase (wheat germ) instructions
随机推荐
Dpr-34v/v two position relay
A mvc5+easyui enterprise rapid development framework source code BS framework source code
PCB----理论与现实的桥梁
QT elidedText 只对中文符合起作用,对英文不起作用的问题解决
WPF 基础控件之 TabControl样式
云函数实现模糊搜索功能
const理解之一
PTA: price of 7-65 beverage
电流继电器HDL-A/1-110VDC-1
开关磁阻电机悬浮驱动IR2128小结
Ad9 tips
Please use the NLTK Downloader to obtain the resource
关于php里tcp通讯用swoole框架出现的小问题
20000 words + 20 pictures | details of nine data types and application scenarios of redis
Principle of 8-bit full adder
altium designer 09丝印靠近焊盘显示绿色警告,如何阻止其报警?
Three operation directions of integral mall
项目总结1(头文件,switch,&&,位变量)
积分商城的三种运营方向
在Pycharm中使用append()方法对列表添加元素时提示“This list creation could be rewritten as a list literal“的解决方法