美文网首页
正则表达式(一)

正则表达式(一)

作者: 嗨_小罗哥 | 来源:发表于2018-08-03 20:44 被阅读0次

一.获取字符串串中:

  • a.所有的正整数
  • b.所有的负整数
  • c.所有的浮点数
  • d.所有的⾮非负浮点数
import re

if __name__ == '__main__':
    str='45s6df12.561f2\-12.35ds78.97'
    re_str=r'\d{1,}'
    re_str1=r'-[1-9]\d*'
    re_str2=r'\-?\d{1,}\.\d{0,}'#\d{1,}\.{0,1}\d{0,}
    re_str3=r'\d{0,}\.\d{0,}'
    print(re.findall(re_str,str))
    print(re.findall(re_str1,str))
    print(re.findall(re_str2,str))
    print(re.findall(re_str3,str))

结果:
['45', '6', '12', '561', '2', '12', '35', '78', '97']
['-12']
['12.561', '-12.35', '78.97']
['12.561', '12.35', '78.97']

二、不定项选择题

    1. 能够完全匹配字符串串“(010)-62661617”和字符串串“01062661617”的正则表达式包括(A.B.D )
      A. “(\d{3})?-?\d{8}”
      B. “[0-9()-]+”
      C. “[0-9(-)]\d”
      D. “[(]?\d[)-]\d*”
    1. 能够完全匹配字符串串“c:\rapidminer\lib\plugs”的正则表达式包括(B C )
      A. “c:\rapidminer\lib\plugs”
      B. “c:\rapidminer\lib\plugs”
      C. “(?i)C:\RapidMiner\Lib\Plugs” ?i:将后面的内容的大写变成小写
      D. “(?s)C:\RapidMiner\Lib\Plugs” ?s:单行行匹配
    1. 能够完全匹配字符串串“back”和“back-end”的正则表达式包括(A,C,D) 短路路操作:前面的为真了,就不会再执
      行后边的操作
      A. “\w{4}-\w{3}|\w{4}”
      B. “\w{4}|\w{4}-\w{3}”
      C. “\S+-\S+|\S+”
      D. “\w\b-\b\w|\w*”
    1. 能够完全匹配字符串串“go go”和“kitty kitty”,但不能完全匹配“go kitty”的正则表达式包括( A D)
      :\1就是重复前面第一个()/组合里里面的内容
      :\2就是重复前面第二个()/组合里里面的内容
      A. “\b(\w+)\b\s+\1\b”
      B. “\w{2,5}\s*\1”
      C. “(\S+) \s+\1”
      D. “(\S{2,5})\s{1,}\1”
    1. 能够在字符串串中匹配“aab”,而不能匹配“aaab”和“aaaab”的正则表达式包括( B,C)
      A. “a*?b”
      B. “a{,2}b”
      C. “aa??b”
      D. “aaa??b”

三.观察下面双引号内的文本”中文名 贝拉克·侯赛因·奥巴马 外文名 Barack Hussein Obama II 别 名 欧巴马 国
籍美国 民 族 德裔族 出生地 美国夏威夷州檀香山 出生日期 1961年年8月4日 职 业政治家、律师、总统 毕业院
校哥伦比亚大学,哈佛大学 信 仰新教 主要成就 1996年年伊利诺伊州参议员 主要成就美国第56届、57届总统
2009年年诺贝尔和平奖获得者 时代周刊年年度风云人物2008、2011 任期内清除本·拉登 代表作品 《我相信变
革》《我父亲的梦想》《无畏的希望》 所属政党美国民主党 血 型 AB型 学 院西方学院 妻 子米歇尔·拉沃恩·
奥巴马 性 别 男”
a. (此题为示范题)当使用正则表达式“中文名\s+(\S+)\s+”抽取美国总统奥巴马的中文名时,替换字符
串“1”的赋值为需要抽取的中文名。 b. 当使用正则表达式“___________”抽取美国总统奥巴马的外文名时,替换字符串“1”的赋值为需要抽取的
外文名。
c. 当使用正则表达式“___________________________”抽取美国总统奥巴马的出生日期时,替换字符
串串“1”的赋值为需要抽取的出生日期。 d. 使用正则表达式“_________________________”抽取美国总统奥巴马的职业时,替换字符串串“1”的赋值
为需要抽取的职业。
e. 使用正则表达式“___________________________”抽取美国总统奥巴马的主要成就时,替换字符
串串“1”的赋值为需要抽取的主要成就。 f. 使用正则表达式“______________________________”抽取美国总统奥巴马的妻子姓名时,替换字符串“1”的赋值为需要抽取的姓名。

 str='观察下面双引号内的文本”中文名 贝拉克·侯赛因·奥巴马 ' \
        '外文名 Barack Hussein Obama II ' \
        '别 名 欧巴马 国籍美国 民 族 德裔族 ' \
        '出生地 美国夏威夷州檀香山 ' \
        '出生日期 1961年年8月4日 ' \
        '职 业 政治家、律师、总统 ' \
        '毕业院校哥伦比亚大学,哈佛大学 信 仰新教 ' \
        '主要成就 1996年年伊利诺伊州参议员 ' \
        '主要成就 美国第56届、57届总统2009年年诺贝尔和平奖获得者 时代周刊年年度风云人物2008、2011 任期内清除本·拉登 ' \
        '代表作品 《我相信变革》《我父亲的梦想》《无畏的希望》 所属政党美国民主党 ' \
        '血 型 AB型 学 院西方学院 妻 子米歇尔·拉沃恩·奥巴马 性 别 女'
    re_str=r'中文名\s+(\S+)\s+'
    print(re.search(re_str, str))

    re_str1=r'出生日期\s+(\S+)\s+'
    print(re.search(re_str1,str))

    re_str2=r'外文名\s+(\S+)\s+(\S+)\s+(\S+)\s+'
    print(re.search(re_str2,str))

    re_str3=r'职 业\s+(\S+)\s+'
    print(re.search(re_str3,str))

    re_str4=r'主要成就\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+'
    print(re.findall(re_str4,str))

    re_str5=r'妻 子\S+'
    print(re.search(re_str5,str))


resu=re.sub(r'奥|巴|马', '$1',result.group())
    print(resu)

    resu1=re.sub(r'1961|8|4','$1',result1.group())
    print(resu1)

    resu2=re.sub(r'Barack|Hussein|Obama','*',result2.group())
    print(resu2)

    resu3=re.sub(r'政治家|律师|总统','$1',result3.group())
    print(resu3)

    for x in result4:
        for i in x:
            resu4=re.sub(r'总统|诺贝尔|时代周刊|本·拉登','*',i)
            print(resu4)

    resu5=re.sub(r'米歇尔|拉沃恩','$1',result5.group())
    print(resu5)

结果:
<re.Match object; span=(0, 3), match='aab'>
<re.Match object; span=(12, 28), match='中文名 贝拉克·侯赛因·奥巴马 '>
<re.Match object; span=(91, 107), match='出生日期 1961年年8月4日 '>
<re.Match object; span=(28, 53), match='外文名 Barack Hussein Obama '>
<re.Match object; span=(107, 121), match='职 业 政治家、律师、总统 '>
[('1996年年伊利诺伊州参议员', '主要成就', '美国第56届、57届总统2009年年诺贝尔和平奖获得者', '时代周刊年度风云人物2008、2011', '任期内清除本·拉登')]
<re.Match object; span=(281, 295), match='妻 子米歇尔·拉沃恩·奥巴马'>


中文名 贝拉克·侯赛因·$1$1$1 
出生日期 $1年$1月$1日 
外文名 * * * 
职 业 $1、$1、$1 
1996年年伊利诺伊州参议员
主要成就
美国第56届、57届*2009年年*和平奖获得者
*年年度风云人物2008、2011

任期内清除*
妻 子$1·$1·奥巴马


相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • Android 正则表达式的用法

    正则表达式及应用 一、 正则表达式 (一)、概念: 正则表达式(regular expression)就是...

  • 常用正则表达式

    常用正则表达式大全!(例如:匹配中文、匹配html)目录导航一、常见正则表达式二、正则表达式应用一、常见正则表达式...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 2019-01-11三剑客之grep

    一、正则表达式 基本正则表达式 逐一阐述 扩展正则表达式 案例 二、grep 参数 案例

  • 第十一课(2018-06-04)

    目录正则表达式扩展正则表达式grepsedawk 1. 正则表达式 Regular Expression, 通过一...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • 正则表达式

    一、正则表达式概述 1.1 什么是正则表达式 ​ 正则表达式(regular expression)是一个描...

网友评论

      本文标题:正则表达式(一)

      本文链接:https://www.haomeiwen.com/subject/aqpuvftx.html