目录
re.match(pattern, string, flags=0)
re.search(pattern, string, flags=0)
re.findall(pattern, string, flags=0)
re.split(pattern, string, maxsplit=0, flags=0)
re.sub(pattern, repl, string, count=0, flags=0)
vim中复制黏贴某一部分:
shift+v进入可视化模式,鼠标左键选中需要复制的部分,esc退出可视化模式,鼠标选择黏贴的地方,按鼠标中键黏贴。
vim 复制粘贴_IC learner的博客-CSDN博客_vim 复制
1. 将光标移动到要复制的文本开始的地方,按 v
进入可视模式。
2. 将光标移动到要复制的文本的结束的地方,按 y 复制,并退出可视模式。
3. 移动光标到粘贴的地方,按p
粘贴。
vim 的基本操作-复制粘贴_octopusHu的博客-CSDN博客_vim 复制一行并且粘贴
不同文件之间复制和粘贴:
1. 将光标移动到要复制的文本开始的地方,按 v
进入可视模式。
2. 将光标移动到要复制的文本的结束的地方,按"+ y 复制,并退出可视模式。
3. 移动光标到粘贴的地方,按"+p
粘贴。
vim 复制粘贴_IC learner的博客-CSDN博客_vim 复制
重复上一次命令:
. 命令可以重复上次普通命令。
@: 重复上次ex命令。
@@ 重复执行。
vimの重复上次命令_mengtianwxs的博客-CSDN博客
将多个CSV文件合并,去掉第一行。将第二行相同的CSV文件按序写入。
#!/user/bin/python
import glob
csv_list = glob.glob('file_path/*.csv')
dict = {}
for i in csv_list:
with open(i, 'w') as csvfile:
csvfile = csvfile.readlines()
#remove line1
del csv_list[0]
#specify line2 as dict.keys and remains as dict.values
if csv_list[0] in dict.keys():
dict[csv_list[0]].extend(csv_list[1:])
else:
dict[csv_list[0]] = csv_list[1:]
with open('final_result3.csv', 'a') as f:
f.write('name, depth, node_kind,,,,,,')
for key,value in dict.items():
f.write(key)
for string in value:
f.write(string)
去掉字符串后面的行号
import re
test = 'abc_5_4_3_ada_3_4_5_asda_4'
#找出test的行号
row = re.findall('_\d{1,3}$', test)
#去掉行号
test_without_row = re.sub(row[0]+'$', '', test, 1)
元字符
[ ] | 指定字符集或范围,[0-9],[a, b, c] |
^ | 匹配行首,返回一个字符串列表 |
$ | 匹配行尾,返回一个字符串列表 |
\ | \d:匹配数字 \s:匹配空白符 \w: 匹配数字字母下划线 |
{n} | 重复n次 |
* | 匹配任意次 |
+ | 匹配一次或多次 |
. | 匹配除换行符的任意字符 |
? | 匹配一次或零次 |
{m, n} | 最少重复m次,最多重复n次 |
re.match(pattern, string, flags=0)
match()方法用于从字符串的开始位置进行匹配,如果起始位置匹配成功,则返回Match对象,否则返回None
re.search(pattern, string, flags=0)
re.search()方法扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None。
与re.match()方法不同,re.match()方法要求必须从字符串的开头进行匹配,如果字符串的开头不匹配,整个匹配就失败了。
- group() 返回被 RE 匹配的字符串
- start() 返回匹配开始的位置
- end() 返回匹配结束的位置
- span()返回一个元组包含匹配 (开始,结束) 的位置
Python的re.match()和re.search()的使用和区别_埃菲尔没有塔尖的博客-CSDN博客_re.match和re.search区别
注释:如果想要在re.match匹配的过程中保存下来匹配完成的结果的时候,需要使用(),有几个括号,re.match出来的结果matchObj.group()的下标就从1到几,最终输出对应的匹配的结果。
re.match函数讲解_唐僧爱吃唐僧肉的博客-CSDN博客_re.match函数
flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
re.I 忽略大小写
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
re.M 多行模式
re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
re.X 为了增加可读性,忽略空格和 # 后面的注释
python re.match函数的使用_胡小牧的博客-CSDN博客_python re.match
re.findall(pattern, string, flags=0)
re.findall()函数是返回某种形式(比如String)中所有与pattern匹配的全部字符串,返回形式为数组。
Python 之正则表达re.compile()与re.findall()详解_扒啦啦的博客-CSDN博客
re.findall()用法详解_IT之一小佬的博客-CSDN博客_re.findall
Python爬虫常用正则re.findall的使用_三颗草丶的博客-CSDN博客_re.findall用法
re.split(pattern, string, maxsplit=0, flags=0)
re.split()能够按照所能匹配的字串将字符串进行切分,返回切分后的字符串列表
python 中re.split()的用法_Crystal_Coding的博客-CSDN博客_re.split
re.split()总结_HYUJKI的博客-CSDN博客_re.split