首页 > 其他分享 >正则表达式编译取值法

正则表达式编译取值法

时间:2023-09-06 21:34:38浏览次数:49  
标签:提取 re 正则表达式 text compile 编译 print 取值 findall

      还是使用《正则表达式直接取值法》中的例子,这里介绍一下用编译取值法编辑正则表达式取得我们想要的元素。

text = "   姓名:海    风,性别:男,年龄:52,账号:12345,密码:6789,作品:<<'双随机'管理系统>>电\
\
\
话:133****5117(常用)"

      采用编译取值法匹配全部字符,包括空格,但不包括回车符号

alc = re.compile('.');al = alc.findall(text);print(al)

正则表达式编译取值法_学python

      按照要求提取文字中的姓名、性别、年龄、账号、密码、作品和电话号码

# 提取姓名(显示结果:海风)
namec =re.compile("姓名:.*性别");name = [nn[3:-3] for nn in namec.findall(text)][0].replace(' ','');print(name)

# 提取性别(显示结果:男)
sxc = re.compile("性别:.*年龄");sx =[sxn[3:-3] for sxn in sxc.findall(text)][0];print(sx)

# 提取年龄(显示结果:51)
agec = re.compile("年龄:.*账号");age =[en[3:-3] for en in agec.findall(text)][0];print(age)

# 提取账号(显示结果:12345)
actc = re.compile("账号:.*密码");act =[actn[3:-3] for actn in actc.findall(text)][0];print(act)

# 提取密码(显示结果:密码:6789)
pwc = re.compile(("密码:\d+"));pw =[pn[3:] for pn in pwc.findall(text)][0];print(pw)

# 提取作品名称(显示结果:<<'双随机'管理系统>>)
wsnc = re.compile("作品:.+>");wsn =[wn[3:] for wn in wsnc.findall(text)][0];print(wsn)

# 提取电话号码(显示结果:133****5117)
telc = re.compile("电话:.*\d");tel =[tn[3:] for tn in telc.findall(text)][0];print(tel)

      显示的最终结果

正则表达式编译取值法_学python_02



标签:提取,re,正则表达式,text,compile,编译,print,取值,findall
From: https://blog.51cto.com/u_14629072/7390498

相关文章

  • rust 交叉编译
    交叉编译Windows下编译到arm64-linux需要下载arm的编译toolchain,有不同的选择:使用aarch64-none-linux-gnu或者aarch64-none-linux-musl。这里使用aarch64-none-linux-gnu安装好rust,可以正常编译下载windows下的arm-gnu-toolchain,并安装,配置环境变量aarch64-none......
  • Maven对源文件的编译
    我们在服务器上安装了JDK17以及Maven,然后有个脚本会从不同的仓库拉取源码并通过mvncompile命令进行编译。不同的源码采用不同版本的jdk进行编辑,那么只有一个JDK17可以满足编译需求吗?在说明该问题前我们先回顾下Java文件的编译回顾Java的编译首先,所谓的源文件本身就是个文本文件,文......
  • Linux 编译安装 OpenSSL
    #下载软件包wgethttps://www.openssl.org/source/openssl-1.1.1v.tar.gz#编译安装OpenSSLtarzxvfopenssl-1.1.1v.tar.gzcdopenssl-1.1.1v./config--prefix=/usr/local/openssl-1.1.1make&&makeinstall#备份原OpenSSLmv/usr/bin/openssl/usr/bin/openssl.......
  • 正则表达式
    正则表达式(RegularExpression)是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符"),可以用来描述和匹配字符串的特定模式。正则表达式是一种用于模式匹配和搜索文本的工具。正则表达式提供了一种灵活且强大的方式来查找、替换、验证和提取文本数据。正则表达......
  • Androd 7.0编译错误合集
    1 error:ro.build.fingerprintcannotexceed91bytesbuild/tools/post_process_props.py.Changelinesasfollows:PROP_NAME_MAX=31#PROP_VALUE_MAX=91PROP_VALUE_MAX=128PROP_NAME_MAX=31#PROP_VALUE_MAX=91PROP_VALUE_MAX=128bionic/libc/include......
  • OPTIONS.info_dict的tool_extensions取值过程分析
    1 首先在build/core/envsetup.mk中有:board_config_mk:=\$(strip$(wildcard\$(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/BoardConfig.mk\......
  • android编译报错:error: ro.build.fingerprint cannot exceed 91 bytes
    http://stackoverflow.com/questions/28776970/android-build-error-ro-build-fingerprint-cannot-exceed-91-bytesbuild/tools/post_process_props.py.Changelinesasfollows:PROP_NAME_MAX=31#PROP_VALUE_MAX=91PROP_VALUE_MAX=128PROP_NAME_MAX=31#PROP_V......
  • ota升级包编译过程中firmware如何添加进来
    整个分析过程中,机型名以xxxx为例主要可分为一firmware如何添加进target-files.zip二编译ota升级包时如何从target-files.zip取出firmware并添加到ota升级包三如何向升级脚本updater-script中加入控制firmware升级的语句四增量升级包相比全量包不同的步骤五结论及修复方......
  • TARGET_DEVICE_DIR取值过程分析
    xxx(机型名)为例在build/core/main.mk中,会包含build/core/config.mk,在config.mk中,会包含build/core/envsetup.mk,在envsetup.mk中有:#ReadtheproductspecssowecangetTARGET_DEVICEandother#variablesthatweneedinordertolocatetheoutp......
  • 输出编译ota升级包时的打包参数
    build / tools/releasetools/common.pydefParseOptions(argv,docstring,extra_opts="",extra_long_opts=(),extra_option_handler=None):"""Parsetheoptionsinargvandreturn......