前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式

正则表达式

作者头像
清菡
发布2020-12-02 15:50:01
3160
发布2020-12-02 15:50:01
举报
文章被收录于专栏:清菡软件测试清菡软件测试

1.必会知识

正则中两个点可以匹配到所有的东西。

字符包括数字,字母,中文,符号,空格。

{n,},逗号说明大于n次。

{n}如果没有逗号就是匹配指定的次数。

{n,m},至少n次,最多m次。

只需了解 . \d ? * + 是什么意思。

一般来说,一个正则表达式,它是元字符和限定字符的组合。

元字符表示匹配哪种类型的字符,限定符表示匹配多少次。

?是匹配0次或1次,每次只能匹配一个,所以会单独一个一个的数字去匹配。

$在正则表达式里面表示以什么结尾。

如果在正则表达式里面变成普通的字符,变成不是正则表达式的字符,可以这样表示:\$

^在正则表达式里面表示以什么开头。

如果在正则表达式里面变成普通的字符,变成不是正则表达式的字符,可以这样表示:\^

2.在线正则表达式测试

3.代码如下

来自文件do_regx.py

代码语言:javascript
复制
#python中有个正则re模块,可以支持我们去做任何的正则操作

import re
#\$\{(.*?)\}

# s='www.lemfix.com'#目标字符串
# res=re.match('(w)(ww)',s)#全匹配。match叫做头部匹配:如果写成s='ww.lemfix.com',
# 再运行res=re.match('www',s),就输出None

# 看结果:group(),group()把你拿到的结果进行分组。
# print(res.group(0))#group() 分组  根据你正则表达式里面的括号进行分组。
# group()==group(0)拿到匹配的全部字符

# s='hellolemonfixlemon'
# res=re.findall('lemon',s)#返回的是列表。在字符串里面找匹配的内容存在列表里面。
# 如果有分组,就是以元组的形式表现出来,列表嵌套元组。
# print(res)

from tools.get_data2 import GetData
# s='{"mobilephone":"${normal_tel}","pwd":"123456"}'

class DoRegx:
    @staticmethod
    def do_regx(s):
        while re.search('\$\{(.*?)\}',s):
            key=re.search('\$\{(.*?)\}',s).group(0)
            value=re.search('\$\{(.*?)\}',s).group(1)
            s=s.replace(key,str(getattr(GetData,value)))
        return s

if __name__=='__main__':
    s='{"mobilephone":"${admin_tel}","pwd":"${pwd}"}'
    res=DoRegx.do_regx(s)
    print(res)

输出结果如下:

文件do_regx.py引入了文件get_data2.py中的代码。

我就不附上get_data2.py的代码了,本章内容主要了解正则表达式的用法,学会思路就行。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.必会知识
  • 2.在线正则表达式测试
  • 3.代码如下
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档