Python语法关注点相对于c/c++(三)基本应用

学习完c/c++这些编程语言后,想快速掌握python的基础语法,方便使用python应用


1.口令保管箱

    这段程序,将取代剪辑版上的文本,新文本都将以星号开始。

#!python
#bulletPointerAdder.py - Adds Wikipedia bullet points to the start
# of each line  of text on the clipboard.

import pyperclip
text = pyperclip.paste()
#TODO:Separate lines and add stars.

lines=text.split('\n')
for i in range (len(lines)): #loop through all indexes in the "lines" list 
      lines[i]= '* ' + lines[i] 
    #add star to each string in "lines" list

text = '\n'.join(lines)
pyperclip.copy(text)

2正则表达式的基本应用---电话号码的提取程序

    A,在python里使用正则表达式有以下几步:

a,用 import re 模块导入正则表达式模块

        b,用re.compare()函数创建一个Regex对象(记得使用原始字符串)

        c,向Regex对象的search()方法传入想匹配的字符串,返回一个Match对象

        d,调用Match对象的group()方法,返回实际匹配的文本

phoneNumRegex  = re.compare(r'\d\d\d-\d\d\d-\d\d\d\d')
mo = phoneNumRegex.search('My number is 123-456-7890.')
print('Phone number is: ' +mo.group())
      Phone number is: 123-456-7890

注:若compare(r'(\d\d\d\)-(\d\d\d-\d\d\d\d)‘),可以向group传入整形变量,group(1) 返回第一个分组对象,123


      B,用管道匹配多个分组(字符‘|’)

          管道用来匹配许多表达式中的第一个,group()返回第一次出现的匹配

         >>>h=re.compare(r'Mycat|Mydog')

         >>>h1=h.search('Mycat and Mydog')

         >>>h1.group()

         'Mycat' 

        

      C,问号实现零次或者一次匹配;*号实现任意次数匹配;+实现至少一次匹配;花括号{}匹配特定次数匹配

         My(cute)?cat   正则表达式中(cute)?中,模式cute是可选分组,可有可无都能匹配

         贪心匹配,非贪心匹配

                在字符串hahahahaha中,因为(ha){3,5}可以匹配3,4或者5个实例,python正则表达式默认“贪心”,尽可能匹配长字符串

                r'(ha){3,5}  调用h1.group()返回 ‘hahahahaha’

                若想匹配非贪心匹配 ,在结束的花括号后面加?


D,findall()  返回一组字符串,包含被查找字符串中所有匹配


        E,字符分类

              \d   数字

              \D  除数字外任意字符

              \w   任意字母,数字,下划线字符

              \W   除字母,数字,下划线字符的任意字符

              \s    空格,制表符,换行符

      \S   除空格,制表符,换行符以外任意字符

              [0-5]  匹配数字0到5

              [sadf]  匹配字母s a d f

              ^spam   字符串必须以spam开始

              spam$   字符串必须以spam结束

          .             匹配一次除换行符以外字符

              


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值