python学习2019/4/30

正则表达式

正则表达式是一个特殊的字符数列,
一个字符串是否与我们设定的字符所匹配。
如果匹配,实现快递检索文本,替换文本的操作
1.检查一串数字是否是电话号码
2.检测一个字符串是否符合email的标准
3.把文本里指定的单词替换为另外一个词

正则表达式的灵魂在于规则
import re
a=‘java|c#|c++|python|javascript’
#print(a.index(‘python’)>-1)
#print(‘python’ in a)
r = re.findall(‘python’,a) ‘python’ 普通字符
if len®>0:
print(‘字符串中包含python’)
else:
print(‘字符串中不包含python’)

import re
a=‘java0c#5c++7python1javascript’
r = re.findall(’\d’,a) ‘\d’ 元字符 取0-9的数字字符
print ( r ) ‘\D’ 取数字外的字符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符集

import re
a = ‘abc,abb,acc,acb,bac,afc’
r = re.findall(‘a[cf]c’,a) 利用元字符和普通字符进行字符的索引
print(r ) [^cf] 索引字符如果前面有^符号那么就表示索引除他之外的字符
或者使用列表索引【c-f】可以索引c-f索引字符

概况字符集

【0-9】字符集可以用\d来概括
【a-z】,【^0-9】同理,这两个也可以用\D来概括,
【A-Za-z0-9_】 单词字符集可以用\w来概括
@#¥……% 空格,\n,\r 其他字符集可以用\W来概括
空格,\n,\r 空白字符 可以用\s 来概括 ,\S非空白字符

数量词

import re
a = ‘python 111 , java,2423%0 php’
r = re.findall(’[a-z]{3,6}’,a) # 贪婪与非贪婪
print( r) 贪婪的情况 python默认在数量词允许的情况下取最大值
直到某个字符不满足此条件

import re
a = ‘python 111 , java,2423%0 php’
r = re.findall(’[a-z]{3,6}?’,a) # 贪婪与非贪婪
print( r) 默认非贪婪,需要改成贪婪的情况可以在数量词列表外加?

*,+,?

匹配*号字符前0次或者无限多次
匹配+号字符前1次或者无限多次
匹配?号字符前0次或者1次

import re
a = (‘pytho0python1pythonn2’)
r = re.findall(‘python*’,a) 输出pytho,python,pythonn
print®

import re
a = (‘pytho0python1pythonn2’)
r = re.findall(‘python+’,a) 输出python,pythonn
print®

import re
a = (‘pytho0python1pythonn2’)
r = re.findall(‘python?’,a) 输出pytho,python,python 《注意
print®

另外要注意数量词后出现的?是表示非贪婪模式
直接出现在字符后面表示的是元字符的匹配?号字符前0次或1次的意思

json(xml)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值