首页
学习
活动
专区
圈层
工具
发布
36 篇文章
1
形式验证与formality基本流程
2
安全地启动sequence
3
【UVM COOKBOOK】Testbench Architecture【二】
4
【UVM COOKBOOK】Testbench Architecture【一】
5
svlib文档翻译(第一至四章)
6
svlib文档翻译(第五章)
7
浅谈便携式激励(PSS)和UVM
8
便携式激励vs形式化vsUVM验证方法在IP块的整个生命周期中的比较分析
9
通过字符串访问generate模块内部的变量
10
Verilog:笔试面试常考易错点整理
11
【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化
12
如何快速生成Verilog代码文件列表?(内附开源C代码)
13
IC工程师的通用技能:文本处理
14
NCVerilog+SimVision+Vivado仿真环境搭建
15
串扰
16
论STA | 数字电路中的串扰
17
STA | 串扰,理论分析
18
低功耗 | UPF + CLP
19
combinational clock gating Vs sequential clock gating
20
Clock Domain Crossing, 跨时钟域检查
21
低功耗 | Glitch Power 分析
22
P&R | 如何在实现全流程中考虑IR-Drop
23
点论 | 组合逻辑环 Combinational loop 知多少
24
UVM的一个简单验证demo
25
systemverilog之Automatic
26
【手把手系列】:芯片设计中的Makefile简明教程
27
“ 一网打尽 ” 二进制、格雷码、独热码编码方式
28
分而治之(Hierarchical Sequences),处理复杂事物的绝对准则
29
断言(assertion),把黑盒变成白盒
30
针对assertion based验证的一些“建议”和“不建议”
31
python脚本练习(5):读写文件步骤
32
python脚本练习(4):正则表达式实例
33
python脚本练习(3):正则表达式实例
34
python脚本练习(2):使用正则表达式的三部曲
35
python脚本练习(1):表格打印
36
VCS门级仿真系列文章之sdf文件和$sdf_annotate

python脚本练习(2):使用正则表达式的三部曲

正则表达式,简称regex,是文本模式的描述方法。你可以在google上搜索regex或者regexp获得非常多的学习资料。这篇短文介绍在python脚本中使用正则表达式的步骤:

1、导入re模块

Python中所有正则表达式的函数都在re模块中,可以在交互式环境或者脚本文件中输入以下代码。导入该模块:

代码语言:javascript
复制
import re

2、创建正则表达式对象

re.compile()传入一个表示正则表达式的字符串值,它将返回一个Regex对象。例如要创建一个Regex对象来匹配电话号码模式,可以输入以下代码:

代码语言:javascript
复制
phoneNumRegex = re.compile(r’\d\d\d-\d\d\d-\d\d\d\d’)

此时phoneNumRegex就包含了一个Regex对象

3、匹配Regex对象

Regex对象中的search()方法查找传入的字符串,寻找该正则表达式的所有匹配。

代码语言:javascript
复制
phoneMatch = phoneNumRegex.search(’My number is415-555-4242’)

如果字符串中没有找到该正则表达式模式,则search()方法返回None。如果找到该模式则返回一个Match对象。Match有一个group()方法,返回被查找的字符串中实际匹配的文本:

代码语言:javascript
复制
print(‘Phone number found :’+phoneMatch.group())

将期待的模式传递给 re.compile(), 并将得到的 Regex对象保存在phoneNumRegex 中。然后我们在 phoneNumRegex上调用 search(), 向它传入想查找的字符串。查找的结果保存在变量phoneMatch中。模式在这个字符串中找到,所以会返回一个 Match对象。我们就可以在phoneMatch变量上调用 group(), 返回匹配的结果, 显示出完整的匹配,即415-555-4242。

代码语言:javascript
复制
import re
phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')
phoneMatch = phoneNumRegex.search('My number is415-555-4242')
print('Phone number found :'+phoneMatch.group())

输出:
//Phonenumber found :415-555-4242

总结一下:在 Python中使用正则表达式有几个步骤,但每一步都相当简单。

1.用 import re 导入正则表达式模块。

2.用 re.compile()函数创建一个 Regex对象(记得使用原始字符串)。

3.向 Regex对象的 search()方法传入想查找的字符串。它返回一个Match 对象

4.调用 Match对象的 group()方法,返回实际匹配文本的字符串。

下一篇
举报
领券