码迷,mamicode.com
首页 > 其他好文 > 详细

单个字符的匹配规则(正则表达式和re模块)

时间:2019-07-14 15:28:13      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:re模块   hello   span   int   百度   div   检索   asd   文本   

什么是正则表达式:

个人对其的理解:按照一定规则,从某个字符串中匹配出想要的数据。

标准的解释:正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。               -------百度百科

正则表达式常用的匹配规则:

匹配某个字符串:

text = "hello"
retext = re.match("he",text)
print(retext.group())

可以在 text 匹配出 he。

1.只可以顺着匹配,即若开头不是 he,会报错。

2. .group()将匹配到的类型转换成可以读文本。


点(.)匹配任意的字符:

text = "+hello"
ret = re.match(".",text)
print(ret.group())

匹配出 + 。

 

\d:匹配任意的数字字符(0-9)

text = "0+35"
ret = re.match(‘\d‘,text)
print(ret.group())

 

\D:匹配任意的非数字字符

text = "+"
ret = re.match(‘\D‘,text)
print(ret.group())

 

\s:匹配空白字符(\t,\r,\n)

text = " \nab "
ret = re.match(‘\s‘,text)
print(ret.group())

 

\w:匹配a-z,A-Z,数字以及下划线

text = ‘a‘
ret = re.match(‘\w‘,text)
print(ret.group())

 

\W:匹配到时与\w互补的

text = ‘++a‘
ret = re.match(‘\W‘,text)
print(ret.group())

 

[ ]组合的方式:只要满足中括号中的字符,就可以匹配

text = ‘0731-8888888‘
ret = re.match(‘[\d\-]‘,text)
print(ret.group())
其中 [\d\-] 表示匹配 \d (数字0-9)或者 匹配 -。第二个 \ 表示转义。

  可以用[]表示以上的匹配:
1).用中括号代替\d:
text = ‘+09asd+-sad/+‘
ret = re.match(‘[0-9]‘,text)
print(ret.group())
2).用中括号代替\D:
text = ‘+09asd+-sad/+‘
ret = re.match(‘[^0-9]‘,text)
print(ret.group())
3).用中括号代替\w:
text = ‘A+09asd+-sad/+‘
ret = re.match(‘[a-zA-Z0-9_]‘,text)
print(ret.group())
4).用中括号代替\W:
text = ‘+09asd+-sad/+‘
ret = re.match(‘[^a-zA-Z0-9_]‘,text)
print(ret.group())
其中 ^ 表示取非符号。

单个字符的匹配规则(正则表达式和re模块)

标签:re模块   hello   span   int   百度   div   检索   asd   文本   

原文地址:https://www.cnblogs.com/zyde-2893/p/11184037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!