\d 匹配任何十进制数;它相当于类 [0-9]。
\D 匹配任何非数字字符;它相当于类 [^0-9]。
\s 匹配任何空白字符;它相当于类 [ fv]。
\S 匹配任何非空白字符;它相当于类 [^ fv]。
\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]。 * 匹配前面的子表达式零次或多次;{0,}
+ 匹配前面的子表达式一次或多次;{1,}
?匹配前面的子表达式零次或一次;{0,1}
import re
b = 3
'''
a = re.search('fa','fgafa')
<_sre.SRE_Match object; span=(3, 5), match='fa'>
a.group()#.group()返回匹配的字符串
'fa' match和search的区别
re.search(pattern, string, flags=0)
re.match(pattern, string, flags=0)
match和search。match是从字符串的起点开始做匹配,而search(perl默认)是从字符串做任意匹配。
re.match(pattern,string) = re.search(^pattern,string) m = re.search('^ab','adff')
#None
m1 = re.search('^ab','abff')
#<_sre.SRE_Match object; span=(0, 2), match='ab'>
m2 = re.search('[^a-z]','dfafAAfa')
#<_sre.SRE_Match object; span=(4, 5), match='A'>
print(m1)
#<_sre.SRE_Match object; span=(0, 2), match='ab'>
print(m1.group())
#ab
a = re.match('as','sdaasff')
#None #compile 编译正则表达式,返回RegexObject对象 re.compile(pattern, flags=0)
b = re.compile('ab')
result = b.match('abdfafssb')
print(result)
<_sre.SRE_Match object; span=(0, 2), match='ab'>
#re.split(pattern, string, maxsplit=0)
print(re.split('a','bakahha'))
['b', 'k', 'hh', '']
print(re.split('[a-f]+', '0a3B9', flags=re.IGNORECASE)) #IGNORECASE忽略大小写
['', '', '']
print(re.split('(\W+)', '...words, words...') )
['', '...', 'words', ', ', 'words', '...', '']
print(re.split("a","bbb") )
['bbb'] #re.findall(pattern, string, flags=0)
print(re.findall(r"e","12a32bc43jf3") )
[] print(re.findall(r"\d+","12a32bc43jf3") )
s = re.findall(r"\d+","12a32bc43jf3")
#print(s.group())
#['12', '32', '43', '3']
#返回的是一个列表
#re.finditer(pattern, string, flags=0)
it = re.finditer(r'\d+','34hhj342kh24')
for match in it:
print(match.group())
34
342
24
#re.sub(pattern, replace, string, count=0, flags=0)
re.compile是将正则表达式编译成一个对象,加快速度,并重复使用。
text = "JGood is a handsome boy, he is cool, clever, and so on..."
regex = re.compile(r'\w*oo\w*')
print(regex.findall(text) ) #查找所有包含'oo'的单词
['JGood', 'cool']
print(regex.sub(lambda m: '[' + m.group(0) + ']', text) )#将字符串中含有'oo'的单词用[]括起来。
[JGood] is a handsome boy, he is [cool], clever, and so on...
'''
#re.sub(pattern, replace, string[, count, flags])
print(re.sub("\d","RE","abc1def2hijk",))
abcREdefREhijk
print(re.subn("\d","RE","abc1def2hijk",))
('abcREdefREhijk', 2)

python--re(匹配字符串)的更多相关文章

  1. [Python]正则匹配字符串 | 蒲公英二维码图片url

    代码示例: import re def Find(string): # findall() 查找匹配正则表达式的字符串 url = re.findall('http[s]?://(?:[a-zA-Z] ...

  2. python 正则匹配字符串里面的字符

    import re x=re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest') print(x)

  3. 【转载】Python BeautifulSoup匹配字符串

    作者:鸡仔说链接:https://www.jianshu.com/p/ceb99aed4b2e來源:简书 BeautifulSoup中可以通过name和attrs去定位名称和属性,以找到特定的html ...

  4. 1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串

    1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08 Python 代码是以Jupyter Notebook编写的,主要写的是python3的 ...

  5. Python学习手册之捕获组和特殊匹配字符串

    在上一篇文章中,我们介绍了 Python 的字符类和对元字符进行了深入讲解,现在我们介绍 Python 的捕获组和特殊匹配字符串.查看上一篇文章请点击:https://www.cnblogs.com/ ...

  6. 第11.6节 Python正则表达式的字符串开头匹配模式及元字符“^”(插入符、脱字符)功能介绍

    符号"^"为插入符,也称为脱字符,在Python中脱字符表示匹配字符串的开头,即字符串的开头满足匹配模式的要求.这个功能有点类似搜索函数match,只是这是通过搜索模式来指定,而m ...

  7. 第11.7节 Python正则表达式的字符串结尾匹配模式及元字符“$”功能介绍

    符号"$"表示匹配字符串的结尾,即字符串的结尾满足匹配模式的要求. 在 MULTILINE 模式(搜索标记中包含re.MULTILINE,关于搜索标记的含义请见<第11.2节 ...

  8. python数据类型和字符串(三)

    一.变量 变量声明变量 #!/usr/bin/env python age= gender1='male' gender2='female' 变量作用:保存状态(程序的运行本质是一系列状态的变化,变量 ...

  9. Python学习笔记-字符串

    Python之使用字符串 1.所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,最大值)对字符串同样适用.但是字符串都是不可变的. 2.字符串格式化使用字符串格式化操作符即%. f ...

  10. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

随机推荐

  1. php7.0.24-nts配置步骤

    php-cgi.exe文件运行 php-cgi.exe -b 127.0.0.1:9000 -c D:/myphp2017/php7-nts/php.ini nginx命令 启动 start ngin ...

  2. gdb调试汇总

    1. 启动GDB开始调试: (1)gdb program ///最常用的用gdb启动程序,开始调试的方式(2)gdb program core ///用gdb查看core dump文件,跟踪程序cor ...

  3. 【转】带你正确的使用List的retainAll方法求交集

    一. retainAll 方法 public boolean retainAll(Collection<?> c) { //调用自己的私有方法 return batchRemove(c, ...

  4. Sass基础(一)

    一.Sass语法规范 1.Sass老版本:通过tab键严格控制缩进:不带有任何分号和大括号:以“.sass”为扩展名. 2.Sass新语法格式(Scss):外形和css无差,以“.scss”为扩展名. ...

  5. jQuery 显示与隐藏 tab选项卡

    方法一:使用display样式:block.none来控制文本的显示与隐藏 <div class="explain_text"> 移动互联网为企业提供了连接用户的新方式 ...

  6. 超详细Hexo+Github博客搭建小白教程

    原文链接:超详细Hexo+Github博客搭建小白教程 去年9月的时候开始搭建了第一个自己的独立博客,到现在也稍微像模像样了.很多小伙伴应该也想过搭建一个自己的博客,网上也有一堆详细教程.我在此稍稍总 ...

  7. libmysqlclient.so.16未找到方法

    用mysql命令登录的时候报错: [root@iZ www]# mysql -uroot -p mysql: error while loading shared libraries: libmysq ...

  8. python 不同目录间的模块调用

    有时候调用的模块不再同一个目录.直接import 是加载不进来的.默认的加载路径是sys.path中指定的路径.如果要指定加载的目录得需要把这个目录加到sys.path里面. 比如要加载父目录的同级目 ...

  9. 理解python yield

    python源代码中经常会有使用yield,带有yield的函数是generator(生成器),它返回是一个迭代值,下面我们分析yield是什么原理,有什么好处? 首先,我们写一个简单的斐波那契数列前 ...

  10. bootstrap-table 数据表格行内修改

    bootstrap-table 数据行内修改js中设置列的属性 editable : { type : 'text',//数据显示在文本框内 emptytext : "--",// ...