美文网首页
day19-作业

day19-作业

作者: RurouniKenshin | 来源:发表于2018-08-03 19:50 被阅读90次

    一.获取字符串中:
    a.所有的正整数
    b.所有的负整数
    c.所有的浮点数
    d.所有的非负浮点数

    re_str = r'([1-9]\d*)'
    re_str = r'-[1-9]\d*'
    re_str = r'-?[1-9]\d*\.\d*[1-9]|0\.\d*[1-9]'
    re_str = r'[1-9]\d*\.\d*[1-9]|0\.\d*[1-9]'
    

    二、不定项选择题

    1. 能够完全匹配字符串“(010)-62661617”和字符串“01062661617”的正则表达式包括(ABD)
      A. “(?\d{3})?-?\d{8}”
      B. “[0-9()-]+”
      C. “[0-9(-)]\d
      D. “[(]?\d[)-]\d*”
    2. 能够完全匹配字符串“c:\rapidminer\lib\plugs”的正则表达式包括(BC)
      A. “c:\rapidminer\lib\plugs”
      B. “c:\rapidminer\lib\plugs”
      C. “(?i)C:\RapidMiner\Lib\Plugs” ?i:将后面的内容的大写变成小写
      D. “(?s)C:\RapidMiner\Lib\Plugs” ?s:单行匹配
    3. 能够完全匹配字符串“back”和“back-end”的正则表达式包括(ABCD) 短路操作:前面的为真了,就不会再执
      行后边的操作
      A. “\w{4}-\w{3}|\w{4}”
      B. “\w{4}|\w{4}-\w{3}”
      C. “\S+-\S+|\S+”
      D. “\w\b-\b\w|\w*”
    4. 能够完全匹配字符串“go go”和“kitty kitty”,但不能完全匹配“go kitty”的正则表达式包括(AD)
      :\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”
    5. 能够在字符串中匹配“aab”,而不能匹配“aaab”和“aaaab”的正则表达式包括(BC)
      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. 当使用正则表达式“外文名\s+([a-zA-Z ]*)\s+”抽取美国总统奥巴马的外文名时,替换字符串“$1”的赋值为需要抽取的外文名。

    c. 当使用正则表达式“出生日期\s+(.*)\s+”抽取美国总统奥巴马的出生日期时,替换字符串“$1”的赋值为需要抽取的出生日期。

    d. 使用正则表达式“职\s*业(\S+)\s+”抽取美国总统奥巴马的职业时,替换字符串“$1”的赋值为需要抽取的职业。

    e. 使用正则表达式“主要成就(.*)\s+[\u4e00-\u9fa5]”抽取美国总统奥巴马的主要成就时,替换字符串“$1”的赋值为需要抽取的主要成就。

    f. 使用正则表达式“妻\s*子(\S+)\s”抽取美国总统奥巴马的妻子姓名时,替换字符串“$1”的赋值为需要抽取的姓名。

    # 拉全文一样的
    import re
    
    re_str = '中文名\s+(\S+)\s+'
    print(re.findall(re_str, '中文名 贝拉克·侯赛因·奥巴马 外'))
    re_str = '外文名\s+([a-zA-Z ]*)\s+'
    print(re.findall(re_str, '外文名 Barack Hussein Obama II 别 '))
    re_str = '出生日期\s+(.*)\s+'
    print(re.findall(re_str, '出生日期 1961年8月4日 职'))
    re_str = '职\s*业(\S+)\s+'
    print(re.findall(re_str, '职    业政治家、律师、总统 毕业'))
    re_str = '主要成就(.*)\s+[\u4e00-\u9fa5]'
    print(re.findall(re_str, '主要成就美国第56届、57届总统 2009年诺贝尔和平奖获得者 时代周刊年度风云人物2008、2011 任期内清除本·拉登 代'))
    re_str = '妻\s*子(\S+)\s'
    print(re.findall(re_str, '妻    子米歇尔·拉沃恩·奥巴马 性    别 男”  '))
    # 结果
    ['贝拉克·侯赛因·奥巴马']
    ['Barack Hussein Obama II']
    ['1961年8月4日']
    ['政治家、律师、总统']
    ['美国第56届、57届总统 2009年诺贝尔和平奖获得者 时代周刊年度风云人物2008、2011 任期内清除本·拉登']
    ['米歇尔·拉沃恩·奥巴马']
    

    老实说,没怎么读懂题,应该是这么解的吧

    相关文章

      网友评论

          本文标题:day19-作业

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