41正则中匹配多个字符串匹配任意单个字符正则中使用字符串重复可选和特殊字符(代码片段)

author author     2022-12-24     116

关键词:

第三课 正则中匹配多个字符串 # 匹配多个字符串 # 择一匹配符号, | 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*零个或... 查看详情