day23

---恢复内容开始---

import re

# []  范围匹配 中间 用-来连接

# re.findall("[a-zA-Z0-9]","a ab abc abcd a 123c")

# 如果要匹配 符号- 要写表达式的左边或者右边

# print(re.findll("[-ab]","a ab abc abcd a123c a--'))

# 重复匹配 表达式的匹配次数

# *表示 任一次数 所以0次也满足

print(re.findall("[a-zA]*","a ab abc abcdssdisjad al123"))

#                          [a-zA-Z-]*


# +  一次或多次

#  print(re.findall"[a-zzA]{1,2}","a ab abc abcdsdssjad a123c"))

#                                   [a-zA-Z]*

# ? 0次或1次

print(re.findall("[a-zA-Z]{1,2}","a ab abc abcdsdssjad a 123c"))

# {1,2}自定义匹配次数 {1,} 1到无穷{,1} 0到1次

print(re.findall("[a-zA-Z]{1,2}","a ab abc abcdsdssjad a123c"))

# + *贪婪匹配 表达式匹配的情况下 尽可能的多拿  (一直匹配 直到不满足为止)

# print(re.findall("w*","jjsahdjshdissadsa daaddsada"))

# print(re.findall("w+","jjsahdjshdjssadsa dssddsada"))

# 非贪婪匹配 在表达式的后面加上?

# print(re.findall("w?","jjsahdissadsa dssddsads")) #非贪婪匹配

#

# text = """<img

# src = https://ss1.baidu.com/6oNXsjjp0@$4$QLZ8tyhnq/it/u=2972240716,31439

# 51157&amp;h=81&amp;app=22&amp;f=JPEG?

w=121&amp;h=81&amp;s=OFB86DB55C624C9COAB1F57203008031"class="c-img c-i,g6">"""

# 演示贪婪匹配

print(re.findall('src="http.*"',text))

# print(re.findall("(a-zA-Z+)_dsb","aigen_dsb cxx_dxb alex_dsb zxx_xsb_dsb"))

#re模块中常用的函数

# match 从字符串开始匹配 只找一个

print(re.match("w*","abc").group(o)) # 获取匹配成功的内容

# group 用来获取某个分组的内容 默认获取第0组 就是整个表达方式本身

print(re.match("([a-zA-Z]+)(_dsb)","aigen_dsb cxx_dsb alex_dsb zxx_xsb_dsb").group(2))

print(re.match("w*","abc").span()) # 获取匹配成功的内容的

print(re.search("w*","abc").group())

# 从全文范围取一个

print(re.search("[a-zA-Z]+(_dsb)","xxx aigen_dsb alexdsb zxx_xsb_dsb"))

# 从开始的位置开始匹配

# primt(re.match("([a-zA]+)(_abcd"))

# print(re.split("---*|","python|____ljsl___ljava"))

# 替换

print(re.sub("python","PYTHON","jslpythonljava"))

# 用正则表达式来交换位置

text1 = "java|c++ljslclpython"

# 将整个内容分为三块 java  lc++ xxxxx|   python

partten = "(.+?)(|.)(.+)"

".+?ahgshags"

#?:用于取消分组 就和没写括号一样

# partten = "(?:.+?)(.+|)(.+)"

#print(re.search(partten,trxt).group())

print(re.sub(partten,"231",text))                                                                                                                                                                                                                      

# 当要匹配的内容包含时

text = "ap"

"p"

print(text)

print(re.findall(r"a\p"<text))

#qq密码  长度6-----16  数字字母特殊  不包含^

# 如果包含^不匹配任何内容

#  除了^别的都能匹配上

"[^\^]{6,16}"

import re

# print(re.se.arch("[^^]"{6,16}","1234567^as^"))

#print(re.search("[^[^]+.[6.16}","1234567as"))

#print(re.match("[^@]{6,16}","1234567@"))

#

#print(re.match("[0-9]{6,7}","abasadsasasa^"))

#长度必须为6不能包含@

print(re.match('[^^]{6,8}$","1111111^56781111"))

#print(re.match("[0-9]{6,7}","1234567"))

#print(re.match("^"[^@]{6.16}"$",' "1234567io 1u" '))

print(re.match("^^]{6,8}$"<"1234567^"))

原文地址:https://www.cnblogs.com/hui2002/p/9820872.html