关键词:
第三课 正则中匹配多个字符串
# 匹配多个字符串
# 择一匹配符号, |
import re
s = ‘Python|Ruby|Java|Swift‘
m = re.match(s,‘PythonRuby‘)
print(m) # <re.Match object; span=(0, 6), match=‘Python‘>
m = re.search(s, ‘I love Python.‘)
print(m) # <re.Match object; span=(7, 13), match=‘Python‘>
m = re.search(s, ‘I love Java.‘)
print(m) # <re.Match object; span=(7, 11), match=‘Java‘>
----------------------------
第四课 正则中匹配任意单个字符
# 匹配任意单个字符
# 点(.):可以匹配任意单个字符
‘‘‘
match(‘.ind‘,‘-ind‘)
‘\.ind‘ ‘bind‘
‘‘‘
import re
s = ‘bin.‘
m = re.match(s, ‘binxa‘)
if m is not None:
print(m.group()) # binx
m = re.search(s, ‘<bind>‘)
print(m.group()) # bind
s1 = ‘3.14‘
s2 = ‘3\.14‘ # 这个只能匹配 3.14
m = re.match(s1, ‘3.14‘)
print(m) # <re.Match object; span=(0, 4), match=‘3.14‘>
m = re.match(s1, ‘3314‘)
print(m) # <re.Match object; span=(0, 4), match=‘3314‘>
m = re.match(s2, ‘3.14‘)
print(m) # <re.Match object; span=(0, 4), match=‘3.14‘>
m = re.match(s2, ‘3514‘)
print(m) # None
第五课 正则中使用字符串
主要针对单个字符有多个选择
# [abcd] 表示 或者是a 或者是b 或者是c 或者是d
# 使用字符集
# [abcd] abc|b|c|d
import re
m = re.match(‘[abcd]‘,‘a‘)
print(m) # <re.Match object; span=(0, 1), match=‘a‘>
print(re.match(‘a|b|c|d‘,‘a‘)) # <re.Match object; span=(0, 1), match=‘a‘>
print(re.match(‘[abcd]‘,‘ab‘)) # <re.Match object; span=(0, 1), match=‘a‘>
print(re.match(‘ab|cd‘,‘ab‘)) # <re.Match object; span=(0, 2), match=‘ab‘>
print(re.match(‘[ab][cd][ef][gh]‘,‘adfh‘)) # <re.Match object; span=(0, 4), match=‘adfh‘>
print(re.match(‘[ab][cd][ef][gh]‘,‘abceh‘)) # None
-------------------------
第六课 正则中重复、可选和特殊字符
# 重复、可选和特殊字符
‘‘‘
*:0到n a* 空字符串 a aa aaa 表示*修复的字符串 0到n次
+:1到n a+ a aa aaa 表示+修复的字符串 1到n次 至少有一个
?:可选 a? 空字符串 a 表示修复的字符串可有可无
‘‘‘
‘‘‘
匹配‘a‘ ‘b‘ ‘c‘三个字母按顺序从左到右排列,而且这3个字母都必须至少有1个
abc aabc abbbccc bca(不匹配)
‘‘‘
import re
s = ‘a+b+c+‘ # 同时满足 三个字母按顺序并且至少有1个
strList = [‘abc‘,‘aabc‘,‘bbabc‘,‘aabbbcccxyz‘]
for value in strList:
m = re.match(s,value)
if m is not None:
print(m.group())
else:
print(‘不匹配‘.format(value,s))
结果为:
abc
aabc
bbabc不匹配a+b+c+
aabbbccc
# 匹配前面任意3个数字-后面任意3个小写字母
‘‘‘
123-abc 543-xyz 1-xyz(不匹配) xyz-123(不匹配)
[0-9] 表示任意一个数字
\d 表示任意一个数字
\d\d\d 任意3个数字
[a-z] 任意一个小写字母
[a-z][a-z][a-z] 任意3个字母
[A-Z] 任意一个大写字母
n
\d3 表示任意出现3此数字
[a-z]3 表示一个出现3此字母
‘‘‘
print(‘-------------‘)
s = ‘\d3-[a-z]3‘
strList = [‘123-abc‘,‘456-xyz‘,‘1234-xyz‘,‘1-xyzabc‘,‘657-xyz^%abc‘]
for value in strList:
m = re.match(s,value)
if m is not None:
print(m.group())
else:
print(‘不匹配‘.format(value,s))
结果为:
123-abc
456-xyz
1234-xyz不匹配\d3-[a-z]3
1-xyzabc不匹配\d3-[a-z]3
657-xyz
‘‘‘
匹配以a到z的26个字母中的任意一个作为前缀(也可以没有这个前缀),后面至少有1个数字
‘‘‘
print(‘-------‘)
s = ‘[a-z]?\d+‘
strList = [‘1234‘,‘a123‘,‘ab456‘,‘b234abc‘]
for value in strList:
m = re.match(s,value)
if m is not None:
print(m.group())
else:
print(‘不匹配‘.format(value,s))
结果为:
1234
a123
ab456不匹配[a-z]?\d+
b234
‘‘‘
匹配email
\w 表示任意一个字符,包括小写的大写的字母和数字 也能匹配汉子 不包括连字符和特殊的字符
\w+ 表示任意一个字符,包括小写的大写的字母和数字 至少有一个 不能为空
[a-zA-Z0-9] 表示:只能是字母小写大写和数字
‘‘‘
print(‘-------‘)
email = ‘\w+@(\w+\.)*\w+\.com‘
emailList = [‘abc@126.com‘,‘test@mail.geeori.com‘,‘test-abc@geekori.com‘,‘abc@geekori.com.cn‘]
for value in emailList:
m = re.match(email,value)
if m is not None:
print(m.group())
else:
print(‘不匹配‘.format(value,email))
结果为:
abc@126.com
test@mail.geeori.com
test-abc@geekori.com不匹配\w+@(\w+\.)*\w+\.com
abc@geekori.com
strValue = ‘我的email是lining@geekori.com,请发邮件到这个email‘
m = re.search(email,strValue)
print(m) # <re.Match object; span=(0, 26), match=‘我的email是lining@geekori.com‘>
email = ‘[a-zA-Z0-9]+@(\w+\.)*\w+\.com‘
m = re.search(email,strValue)
print(m) # <re.Match object; span=(8, 26), match=‘lining@geekori.com‘>
print(m.group()) # lining@geekori.com
正则表达式中匹配单个字符
匹配单个字符.匹配任意一个字符(除了)[]匹配[]中列举的字符d匹配数字0-9D匹配非数字s匹配空白,即空格S匹配非空白w匹配单词字符W匹配非单词字符 查看详情
正则表达式
...端第一个字符开始,左到右依次一个一个字符进行匹配.当字符串中有字符成功匹配到正则表达式中字符,则从这个位置开始尝试正则表达式中的下一个字符进行匹配,如果匹配成功则继续从这个位置开始匹配正则表达式中下一个字... 查看详情
学习正则表达式笔记
正则匹配的各种模式1.择一匹配(|) 择一匹配用管道符号(|),也就是竖线表示。代表可以从多个模式中选择一个,可用于分割正则表达式。例如:ABC|abc表示即可以匹配ABC,又可以匹配abc。2.匹配任意单个字符点号(.)可... 查看详情
正则表达式(代码片段)
...意字符,与通配符中的*的意思相同。表示转义符,当与正则表达式中的符号结合时表示符号本身。|表示"或者"之意[]表示匹配指定范围内的任意单个字符。[^]表示匹配指定范围外的任意单个字符。单个字符匹配相关[0-9]表示0到9... 查看详情
ultraedit中使用正则表达式
正则表达式(UltraEditSyntax): %匹配行首-表明要搜索的字符串一定在行首. $匹配行尾-表明要搜索的字符串一定在行尾 ?匹配除换行符外的任一单个字符. *匹配任意个数的字符出现任意次数(不包括换行符) +匹配前... 查看详情
linux中正则表达式和通配符的区别
...字符一般出现在要shell命令或脚本中,匹配特定的文件名正则表达式它是一个字符匹配标准,一些命令工具按此标准实现字符匹配,根据命令支持的匹配功能可分为基础正则表达式和扩展正则表达式,常用于支持正则表达式的工... 查看详情
正则表达式
正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。反斜杠后的元字符将失去其特殊含义。字符类:单个字符和数字元字符/元符号匹配情况.匹配除换行符外的任意字符[a-z0-9]匹配括号中... 查看详情
正则表达式的元字符
importreprint("---------------匹配单个字符---------------------")r‘‘‘.匹配除换行符以外的任意字符[0123456789][]是字符集和,表示匹配方括号中所包含的任意一个字符[abcd]匹配‘a‘,‘b‘,‘c‘,‘d‘中任意一个字符[a-z]匹配任意小写字母... 查看详情
正则表达式
importrepatten=re.compile(r".") //将正则表达式的字符串编译为一个对象r0=patten.manth("f") //使用正则表达式的对象匹配指定字符串,匹配成功返回匹配到的字符的下标span(0,1),否则返回None----------匹配单个字符与数字------... 查看详情
使用javascript匹配字符串中任意长度字符的正则表达式?
】使用javascript匹配字符串中任意长度字符的正则表达式?【英文标题】:Regularexpressiontomatchanarbitrarylengthofcharactersinastringusingjavascript?【发布时间】:2011-12-2217:33:30【问题描述】:我只是在学习使用javascript进行正则表达式匹配,... 查看详情
匹配单个字符(代码片段)
...节中,了解到通过re模块能够完成使用正则表达式来匹配字符串本小节,将要讲解正则表达式的单字符匹配字符功能.匹配任意1个字符(除了)[]匹配[]中列举的字符d匹配数字,即0-9D匹配非数字,即不是数字s匹配空白,即空格,t... 查看详情
正则表达式匹配任意行上的多个 MBCS 字符串
】正则表达式匹配任意行上的多个MBCS字符串【英文标题】:RegextomatchmultipleMBCSstringsonanyline【发布时间】:2013-10-0120:11:46【问题描述】:我正在寻找一个正则表达式来仅匹配C++项目中的MBCS字符串。这些是包含在双引号中的字符串... 查看详情
d21_1.1_正则表达式_单个字符匹配
#### re.findall 找到所有与正则表达式相匹配的字符串语法:lst=re.findall(正则表达式,字符串)#(1)预定义字符集#d匹配数字#D匹配非数字#w匹配字母或数字或下划线(正则函数中,支持中文的匹配)#W匹配非字母或数字或下划线#s匹配任... 查看详情
基础正则表达式
* 匹配前一个字符任意次. 匹配除换行符外的任意单个字符^ 匹配行首$ 匹配行尾[] 匹配中括号内的任意单个字符,如[0-9a-zA-Z]匹配任意数字字母,[中华人民共和国]匹配“中化人民共和国”中的任意单个汉字[^]... 查看详情
正则表达式——02单个字符匹配
...表达式强大的功能和灵活性,正则表达式是由字符组成的字符串,这些字符可以是文本字符(真正的文本),也可以是元字符 查看详情
正则表达基础学习(代码片段)
...00写在前面:不管是PHP、Python还是JAVA等编程语言,在使用字符串匹配过程中,正则表达匹配往往是首选。下面是个人总结的关于正则表达的基本知识。初学往往只是基础,关键在于实践。0x01正则表达式-概述:正则表达式是一组... 查看详情
正则表达式:元字符(基本可用来匹配的字符)(代码片段)
# 1:匹配单个字符与数字.匹配除换行符以外的任意字符[0123456789]是字符集合,表示匹配方括号中所包含的任意一个字符如[Mia]匹配‘M‘,‘i‘,‘a‘中任意一个字符[a-z]匹配任意小写字母[A-Z]匹配任意大写字母[0-9]匹配任意数... 查看详情
用正则表达式怎样匹配不包含特定字符串的字符串
...。。。。求一正则表达式,能匹配所有不含“诺基亚”的字符串正则表达式匹配公式为:^((?!XXX).)*$,XXX为字符串。另外列举一些正则表达式的语法:[abc]a或b或c.任意单个字符a?零个或一个a[^abc]任意不是abc的字符\s空格a*零个或... 查看详情