python 正则再回首

import re

string="我正在学习python3的正则表达式,现在的日期是2019-01-22"

result=re.split(r',',string)[1]

print(result)

result=re.findall(r'(\d+.\d+.\d+)',string)

print(result)

result=re.findall(r'([0-9]+.[0-9]+.[0-9]+)',string)

print(result)

result=re.findall(r'[a-zA-Z]+',string)

print(result)

result=re.findall(r'\d{2,4}',string)

print(result)

"""

打印结果:

现在的日期是2019-01-22

['2019-01-22']

['2019-01-22']

['python']

['2019', '01', '22']

"""

import re

from lxmlimport etree

#第一部分  re.match  re.search  re.findall 使用区别

print("第一部分  re.match  re.search  re.findall 使用区别")

"""

re.match #从开始位置开始匹配,如果开头没有则无re.search #搜索整个字符串re.findall #搜索整个字符串,返回一个list

"""

s1 ='liuyaNLonG15374abccc8888'

print("s1为:",s1)

#会成为一个列表

result=re.findall(r'[\d]+',s1)

print("使用findall匹配结果:",result)

result=re.match(r'[\d]+',s1)

print("使用match匹配结果:",result)

result=re.search(r'[\d]+',s1).group()

print("使用search匹配结果:",result)

"""

s1为:liuyaNLonG15374abccc8888

使用findall匹配结果: ['15374', '8888']

使用match匹配结果: None

使用search匹配结果: 15374

"""

print("第二部分  .*  .*?  .+  .+? 匹配所有内容 一行匹配的使用区别")

#第二部分  .*  .*?  .+  .+? 区别  ,    .*? .+?表示匹配任意字符并且尽可能少

"""

特别说明:

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配

有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种限定符。* 和 + 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个 ? 就可以实现非贪婪表达式或最小匹配。"""

s2 ='liuyaNLonG15374abcccc8888'

print("s2为:",s2)

sss=re.findall(r'LonG(.*)c',s2)

print(".*匹配结果:",sss)

sss=re.findall(r'LonG(.*?)c',s2)

print(".*?匹配结果:",sss)

sss=re.findall(r'LonG(.+)c',s2)

print(".+匹配结果:",sss)

sss=re.findall(r'LonG(.+?)c',s2)

print(".+?匹配结果:",sss)

"""

.*匹配结果:['15374abccc']

.*?匹配结果:['15374ab']

.+匹配结果:['15374abccc']

.+?匹配结果:['15374ab']

"""

print("第三部分  .*  .*?  .+  .+? 匹配所有内容 多行匹配的使用区别")

#第三部分  .*  .*?  .+  .+? 多行匹配的使用区别  .*? .+?使用时,最好.*?  .+?的前后都要有条件限定

s3 ='''first line

second line

third line

'''

print("s3为:",s3)

sss=re.findall(r'(.*)',s3)

print(".*匹配结果:",sss)

sss=re.findall(r'(.*?)',s3)

print(".*?匹配结果:",sss)

sss=re.findall(r'(.*?)\n',s3)

print(".*?的后端有限制条件时,匹配结果:",sss)

sss=re.findall(r'(.+)',s3)

print(".+匹配结果:",sss)

sss=re.findall(r'(.+?)',s3)

print(".+?匹配结果:",sss)

sss=re.findall(r'(.+?)\n',s3)

print(".+?的后端有限制条件时,匹配结果:",sss)

"""

.*匹配结果:['first line', '', 'second line', '', 'third line', '', '']

.*?匹配结果:['', 'f', '', 'i', '', 'r', '', 's', '', 't', '', ' ', '', 'l', '', 'i', '', 'n', '', 'e', '', '', 's', '', 'e', '', 'c', '', 'o', '', 'n', '', 'd', '', ' ', '', 'l', '', 'i', '', 'n', '', 'e', '', '', 't', '', 'h', '', 'i', '', 'r', '', 'd', '', ' ', '', 'l', '', 'i', '', 'n', '', 'e', '', '']

.*?的后端有限制条件时,匹配结果:['first line', 'second line', 'third line']

.+匹配结果:['first line', 'second line', 'third line']

.+?匹配结果:['f', 'i', 'r', 's', 't', ' ', 'l', 'i', 'n', 'e', 's', 'e', 'c', 'o', 'n', 'd', ' ', 'l', 'i', 'n', 'e', 't', 'h', 'i', 'r', 'd', ' ', 'l', 'i', 'n', 'e']

.+?的后端有限制条件时,匹配结果:['first line', 'second line', 'third line']

"""

s4="abc12345664643444ttt"

#匹配数字,只能匹配4个数字,不够4个的数字去掉

ru=re.findall(r'\d{4}',s4)

print(ru)

#匹配数字,匹配2到4个数字,但是优先匹配4个数字,

ru=re.findall(r'\d{1,4}',s4)

print(ru)

s5="abababababababab"

sss=re.findall(r'ab+',s5)

print("+匹配结果1:",sss)

s5="aaaaaaaaaaaaaaaa"

sss=re.findall(r'a+?',s5)

print("+匹配结果2:",sss)

s5="abababababababab"

sss=re.findall(r'ab*',s5)

print("*匹配结果1:",sss)

s5="aaaaaaaaaaaaaaaa"

sss=re.findall(r'a*?',s5)

print("*匹配结果2:",sss)

aaa="我12345+abcde"

sss=re.findall(r'(.*)\+(.*)',aaa)[0]

print("\匹配结果:",sss[-1])

#以某个字符串或者字符为开头

bbb='hello 111 world'

sss=re.findall(r'^he',bbb)

print("^匹配结果:",sss)

#以某个字符串或者字符为开头

bbb='hello 11 11world'

sss=re.findall(r'rld$',bbb)

print("$匹配结果:",sss)

#切割re.split(pattern, string[, maxsplit])按照能够匹配的子串将string分割后返回列表。

sur=re.split(r'\+',aaa)

print("split匹配结果:",sur)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341