python04-02

本来想先矫情一下的,但是这两天开始学习的时间有点晚,而且还要兼顾工作上的事情,所以废话少说。开始学习
1.UTF-8对全世界所有国家需要用到的字符进行了编码,以1个字节表示英语字符(兼容ASCII),以三个字节表示中文,还有些语言的符号使用2个字节或4个字节。 GB2312是我国制定的中文编码,使用1个字节表示英语,2个字节表示中文。不同编码格式之间相差很大,采用不同的编码格式意味着不同的表示和存储形式。
python3.x 完全支持中文字符,默认使用UTF8编码格式,无论是一个数字、英文字母,还是一个汉字,都是按一个字符对待和处理。

>>> s = '河北邯郸'
>>> len(s)
4
>>> s = '河北邯郸wan'
>>> len(s)
7
>>> 姓名 = '张三'
>>> print(姓名)
张三

2.python字符串的驻留机制:对于短字符串,将其赋值给多个不同对象时,内存中只有一个副本,多个对象共享该副本。长字符串不遵守驻留机制。(这句话不懂)
3.对于split()和rsplit()方法,如果不指定分隔符,则字符串中的任何空白符号(包括空格、换行符、制表符等等)都将被认为是分隔符,返回包含最终分割结果的列表。
终于迎来了周末,吃完饭后的我怎么也开心不起来。
周末没有坚持下来写博客,不知道是自己矫情还是什么原因,感觉特别特别的累,身心疲惫,几乎呼呼了两天。这周一定的振作起来,加油。
4.不知不觉又来到正则表达式的学习,每次学完每次迷糊,但每次学习都会有新的收获和不一样的体会。
‘(a|b)c’ :匹配多个(包含0个)a或b,后面紧跟一个字母c。
‘ab{1,}’:等价于‘ab+’,匹配以字母a开头后面带1个至多个字母b的字符串。
1{1}([a-zA-Z0-9._]){4,19}KaTeX parse error: Undefined control sequence: \w at position 44: …、“—”:."的字符串。 ^(\̲w̲){6,20}:匹配长度为6-20的字符串,可以包含字母、数字、下划线。
’^(13[4-9]\d{8})|(15[01289]\d) : 检 查 给 定 字 符 串 是 否 为 移 动 手 机 号 码 。 ′ [ a − z A − Z + :检查给定字符串是否为移动手机号码。 '^[a-zA-Z+ :[azAZ+]:检查给定字符串是否只包含英文字母大小写。
‘^\w+@(\w+.)+\w+KaTeX parse error: Undefined control sequence: \- at position 26: …否为合法电子邮件地址。 ‘^(\̲-̲)?\d+(\.\d{1,2}…:j检查给定字符串是否为最多带有2位小数的正数或负数。
‘[\u4e00-\u9fa5]’:匹配给定字符串中所有汉字;
’^\d{18}|\d{15}KaTeX parse error: Undefined control sequence: \d at position 22: …符串是否为合法身份证格式。 '\̲d̲{4}-\d{1,2}-\d{…'检查给定字符串是否为强密码,必须同时包含英语字母大写字母、英文小写字母、数字或特殊符号(如英文逗号、英文句号、下划线)
"(?!.
[’“v;=%?]).+”:如果给定字符串中包含’、“、/、;、=、%、?则匹配失败;
‘(.)\1+: 匹配任意字符的一次或多次重复出现;
‘((?P\b\w+\b)\s+(?P=f))’:匹配连续出现两次的单词。
’((?P.)(?P=f)(P (P=g))’:匹配AABB形式的成语或者字母组合。
5.’(…)分组,默认为捕获,即被分组的内容可以被单独取出,默认每个分组有个索引,从1开始,按照顺序决定索引值。
6(?:…)分组的不捕获模式,计算索引时会跳过这个分组。
(?P…)分组的命名模式,取次分组中的内容时可以使用索引也可以使用name
(?P=name)分组的引用模式,可以再同一个正则表达式用引用前面命名过的正则。
(?#…)注释,不影响正则表达式其它部分。
(?=…)顺序肯定环视,表示所在位置能够匹配括号内正则。
(?!…)顺序否定环视,表示所在位置右侧不能匹配括号内正则。
没上班之前,想着工作的时候,从来没有过人际关系如此复杂。会说话真的可以有饭吃。像我这种不会说话的就慢慢自己看python吧。
7.正则表达式对象match方法和serch方法匹配成功后返回match对象。match对象的主要方法有:
group();返回匹配的一个或多个子模式内容;
groups():返回一个包含匹配的所有子模式内容的元组;
groupdict():返回包含匹配的所有命名子模式内容的字典
start();返回指定模式子模式内容的起始位置。
end()返回指定子模式内容的结束位置的前一个位置。
span()返回一个包含指定子模式内容起始位置和结束位置前一个位置的元组。

>>> m = re.match(r'(\w+) (\w+)',"Isaac Newton physicist")
>>> m.group(0)
'Isaac Newton'
>>> #返回整个模式内容
>>> m.group(1)
'Isaac'
>>> 返回第一个子模式内容
>> m.group(2)
'Newton'
>>> #返回第二个子模式内容
>>> m.group(1,2)
('Isaac', 'Newton')
>>> #返回指定的多个子模式内容
>
```>>> telNumber = '''Suppose my Phone No. is 0535-1234567, yours is 010-12345678, his is 025-87654321.'''
while True:
    matchResult = pattern.search(telNumber, index)    #从指定位置开始匹配
    if not matchResult:
        break
    print('-'*30)
    print('Success:')
    for i in range(3):
        print('Searched content:', matchResult.group(i), ' Start from:',
              matchResult.start(i), 'End at:', matchResult.end(i),
              ' Its span is:', matchResult.span(i))
    index = matchResult.end(2)


 后记:这篇博客写了差不多一周,博客上基本没什么内容,因为涉及到字符串和正则表达式的相关内容,最大感受就是多去练习和记忆。
    
    





  1. a-zA-A ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值