正则表达式(1)------元字符

  1. " \ +数字 "
    (1)表示第n个元组中的内容
xu_hao_1=re.search(r'a(bca)\1','abcabca')
print(xu_hao_1)         #abcabca

(bca)\1==bcabca;

xu_hao_2=re.search(r'(a)(bca)\2','abcabca')
print(xu_hao_2)          #abcabca
xu_hao_3=re.search(r'(abc)\1\1','abcabcabc')
print(xu_hao_3)        #abcabcabc 
xu_hao_4=re.search(r'(abc)\1','abcabcabc')
print(xu_hao_4)    '''     #abcabc

(2)数字为三位数时,表示该八进制数对应ASCII码的内容

xu_hao_5=re.search(r'\141','abc')
print(xu_hao_5)       #a

xu_hao_6=re.search(r'\061','123')
print(xu_hao_6)    #1
  1. " . "
    (1)不带方括号,表示第一个字符
point1=re.search(r'.','the first letter')
print(point1)    # t

(2)带方括号,表示"."本身`

point2=re.search(r'[.]','the . itself')
print(point2)  # .
  1. " [ ] "
    (1)表示范围
fang_kuo_hao_1=re.findall(r'[a-z]','Get All Letters I Need')
print(fang_kuo_hao_1)  #['e', 't', 'l', 'l', 'e', 't', 't', 'e', 'r', 's', 'e', 'e', 'd']

(2)方括号中 " ^ "的用法

fang_kuo_hao_2=re.findall(r'[^(a-z)]',"Get All Letter I Don't Need")
print(fang_kuo_hao_2)   #['G', ' ', 'A', ' ', 'L', ' ', 'I', ' ', 'D', "'", ' ', 'N']

放在前面表示提取除了该内容之外的

fang_kuo_hao_3=re.findall(r'[(a-z)^]','No Change ^')
print(fang_kuo_hao_3)   #['o', 'h', 'a', 'n', 'g', 'e', '^']

放在后面表示 " ^ "本身

  1. 重复 " { } " " ? " " * " " + "
    (1) " { } "
repeat1=re.search(r'abc{2}','abccabc')
print(repeat1)    #abcc

abc{2}==abcc

repeat2=re.search(r'(abc){1,5}','abcabcabc')
print(repeat2)   #abcabcabc

重复 “abc” 1次到5次均可,此处为3次

(2) " ? "
重复0次或1次

repeat5=re.search(r'(abc)?','abcabcabcabc')
print(repeat5)     #abc
repeat6=re.search(r'ab(def)?','abc')
print(repeat6)      #ab

(3)" * "
重复0次到若干次

repeat3=re.search(r'(abc)*','abcabc')
print(repeat3)   #abcabc
repeat4=re.search(r'abc(ba)*','abcabc')
print(repeat4)  #abc

(4)" + "
重复1次到若干次

  1. 贪婪
    (1) 贪婪模式
greedy=re.search(r'<.+>','<html><title>123<html>')
print(greedy)   #<html><title>123<html>

" <.+> " == 尖括号内任意内容,重复1到若干次
.+ == html>123<html

(2)非贪婪模式 " <.+?> "

nogreedy1=re.search(r'<.+?>','<html><title>123<html>')
print(nogreedy1)   #<html>

" .+ "不能打括号

nogreedy2=re.search(r'(<.+?>)*','<html><title><html>')
print(nogreedy2)  #<html><title><html>
nogreedy3=re.search(r'(<.+?>)?','<html><title><http><html>')
print(nogreedy3)  #<html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值