因工作加班无法每日更新,上期讲简单Python正则表达式使用,本期讲进阶用法

大家好。最近工作加班时间过长。因此没办法每天都给大家更新内容。实在抱歉。

因工作加班无法每日更新,上期讲简单Python正则表达式使用,本期讲进阶用法

上次我们讲了简单的python正则表达式使用。还结合了第0期的python文件和目录操作。以及第1期的python执行linux系统命令的方式。还有第2期的简单python正则表达式。相信现在你对平常那些简单的自动化脚本编写已基本游刃有余。比如查询进程线程号。执行gdb。执行系统命令监控系统内存使用和cpu使用情况。筛选top10进程等。这些简单的任务能够写出来。简单的自动化编译脚本也能够写出来。并且都已经能不费吹灰之力地完成。

今天 我们接着上期讲的简单正则表达式使用 继续来讲正则表达式的一些复杂的进阶使用

我们第一个要讲的就是正则表达式的组匹配。

组匹配的意思是,很多时候我们不只是想打印正则匹配的内容。而是想把正则匹配的内容保存下来。以便继续做后续处理。所以需要使用group方法。来获取匹配内容。并进行保存和进一步处理。

示例如下:

结果 = re.search(正则表达式“^(\w+), (\w+)#34;”,字符串“David, Benwick”) 其中,正则表达式表示以一个或多个单词字符开头,接着是逗号和一个或多个单词字符,再接着是“#34;” 字符串为“David, Benwick”
print(result)
<_sre.SRE_Match object; span=(0, 14), match='David, Benwick'>
//上面直接打印result
print(result.group())
David, Benwick // 打印了组匹配的结果
print(result[0])
David, Benwick // 0下标代表整个字符串
print(result[1])
David // 1下标代表组1匹配的结果
print(result[2])
Benwick // 2下标代表组2匹配结果

例子的需求如下

需求:

要求编写一个python函数其输入参数是形如xxxx, xxx的人名要对该输入参数的人名进行处理

取出 ","前后的人名字符串,然后进行颠倒后的结果返回。

异常输入,无法匹配时,直接返回原始字符串。

那我们如何来解这题呢?

代码如下:

>>> import re
>>> def rearrange_name(name):
针对的是名字进行搜索
...     if result is None:
...             return name
返回由结果的第二个元素和第一个元素组成的字符串 中间用空格隔开
...
// 如上我们定义了一个函数,然后下面调用
重新排列名字(“大卫,本威克”)
'Benwick David'
// 打印返回值颠倒

这就是一个简单例子。它能告诉大家怎样灵活运用正则表达式的组。匹配后的字符串能够被二次使用。

下面再讲一下重复,正则表达式中的 {} 代表着重复的概念。

示例如下:

打印对“are ghost”进行正则表达式搜索的结果,该正则表达式用于查找由五个英文字母组成的字符串
// 匹配的是有五个英文字符的字符串
<_sre.SRE_Match object; span=(4, 9), match='ghost'>
  // 结果只匹配了ghost

这种通配符常常与findall函数一同使用。例如有一个常用场景。要在一个长字符串里找到所有五个英文字符的单词。

就可以使用下面的正则匹配:

>>> print(re.findall
(r"[a-zA-Z]{5}\s{1}", 
一个吓人的鬼出现了,它十分恐怖
// 打印结果如下,匹配所有五个字符的单词
鬼魂
// 或者是匹配6个字符以上的单词
>>> print(re.findall
(r"[a-zA-Z]{6,}",
 "a scary ghost appeared, it is very horrible"))
// 打印结果如下:
呈现出可怕的样子

最后 给大家一个简单的实战自动化脚本例子 该例子能从linux操作系统中获取进程PID

该函数接收一个参数log_line
...     regex = r"\[(\d+)\]"
result等于对log_line执行re.search并传入regex
...     if result is None:
...             return ""
...     return result[1]
打印(提取进程标识符(“你还好吗,运行这个进程标识符[12345]”))
12345
// 打印获取pid结果

上面的函数与ps等Linux命令一同使用。如此一来,便能够提取进程pid。

下一期 我们会接着讲解python自动化脚本编写 要是大家认为我讲得挺好 还是那句话 你的关注是我更新的动力 我会持续为你输出有用知识

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

36阅读

外国教程python,python编程教学视频

2026年09月02日

29阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

25阅读

python库包教程,python 包

2026年09月02日

30阅读

python教程大全集,python教程600集

2026年09月02日

29阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

26阅读