【1.73】正则表达式--2

import re




#  [] 字符集   匹配[]内的任意字符,没有元字符概念了

str = "ahsyaominggggge123ge567"

x = re.findall("m..g[g*z]",str)
print(x)    #['mingg']   #没有元字符概念了 没有*


a = re.findall("ge[0-9]",str)
print(a)  #['ge1', 'ge5']


a = re.findall("ge[0-9]*",str)
print(a)  #['ge123', 'ge567']









str = "www.baidu.com"

y = re.findall("www.[oldboy,baidu]",str)
print (y)  # ['www.b']
#没有逗号概念,逗号在这里就一个元素,是按照逐一匹配

z = re.findall("www.[a-z]",str)
print(z)  #['www.b']

z = re.findall("www.[a-z]*",str)
print(z)  #['www.baidu']
[] 字符集 匹配[]内的任意字符,没有元字符概念了
import re

#  [] 字符集   匹配[]内的任意字符,没有元字符 ^ 概念了
#没有元字符 ^ 概念,^ 在这里就是 非的意思 

str = "www.baidu.com,www.163.com"

y = re.findall("www.[^a-z]+.com",str)
print (y)  # ['www,163.com']
[] 字符集 没有元字符 ^ 概念,^ 在这里就是 非的意思
import re

#  [] 字符集   匹配[]内的任意字符,没有元字符 ^ 概念了
#没有元字符 ^ 概念,^ 在这里就是 非的意思

str = "12+23*3+3*(5-2*(2-1))+4/2"

y = re.findall("\([^()]*\)",str)
print (y)  # ['(2-1)']
没有元字符 ^ 概念,^ 在这里就是 非的意思
import re

#  \d==[0-9] \D==[^0-9]  匹配数组 和 不匹配数字


str = "WOMENSHI:12+23*3+3*(5-2*(2-1))+4/2"

y = re.findall("\d",str)
print (y)  # ['1', '2', '2', '3', '3', '3', '5', '2', '2', '1', '4', '2']

y = re.findall("\d+",str)
print (y)  # ['12', '23', '3', '3', '5', '2', '2', '1', '4', '2']

y = re.findall("[0-9]",str)
print (y)  # ['1', '2', '2', '3', '3', '3', '5', '2', '2', '1', '4', '2']

y = re.findall("\D",str)
print (y)

#['W', 'O', 'M', 'E', 'N', 'S', 'H', 'I', ':', '+', '*', '+', '*', '(', '-', '*', '(', '-', ')', ')', '+', '/']
\d==[0-9] \D==[^0-9] 匹配数组 和 不匹配数字
import re

#  \s  \S   匹配空白  和 不匹配空白


str = "yaoming liuxiang"

y = re.findall("\s",str)
print (y)  #[' ']   取出来就是空白

y = re.findall("\S",str)
print (y)
#['y', 'a', 'o', 'm', 'i', 'n', 'g', 'l', 'i', 'u', 'x', 'i', 'a', 'n', 'g']

y = re.findall("\S+",str)
print (y)
#['yaoming', 'liuxiang']
\s \S 匹配空白 和 不匹配空白
import re

#  \w  \W   匹配任何大小写字母数字  和 匹配非字母和数字


str = " YaoMing123 LiuXiang456 "

y = re.findall("\w",str)
print (y)
#['Y', 'a', 'o', 'M', 'i', 'n', 'g', '1', '2', '3', 'L', 'i', 'u', 'X', 'i', 'a', 'n', 'g', '4', '5', '6']


y = re.findall("\w+",str)
print (y)  #['YaoMing123', 'LiuXiang456']

y = re.findall("\S+",str)
print (y)  #['YaoMing123', 'LiuXiang456']


y = re.findall("\W",str)
print (y)  #[' ', ' ', ' ']
\w \W 匹配任何大小写字母数字 _(下划线) 和 匹配非字母和数字 非_(非下划线)
posted @ 2016-04-22 23:49  科学小怪癖  阅读(111)  评论(0)    收藏  举报