字符串操作方法有:

s = 'hello word'

s.find('l') 查询第一个l的索引

s.replace('ll','xx') 替换

s.split('w') 以w进行分割

这些都是完全匹配,要进入模糊匹配就需要引进正则表达式

正则表达式,主要作为字符串模糊匹配的作用

正则 元字符

. 点  ret = re.findall('w.r','hello world') . 点除了换行符以外,可以代指任何字符,一个点代表一个字符,点叫做通配符

尖角符^ ret = re.findall('^w.r','hello world') 从字符串的开头开始匹配,只从字符串开头开始匹配

$ 符 ret = re.findall('w.r$','hello world') 只在字符串最后位置进行匹配,

* 重复匹配  ret  = re.findall('wr*'hello world')  重复匹配 优先匹配*前第一个字符

+重复匹配 ret = re.findall('ab+','hello b word') 重复匹配,至少要一个b

? 重复匹配 ret = re.findall('a?b','aaaaaabsdsdabsdfsb') 重复0-1次a

{}重复匹配 ret = re.findeall('a{5}b','aaaaab') 重复匹配指定次数a,ret = re.findeall('a{1,3}b','aaasdasdn') 指定按区间匹配

[] 字符集  ret = re.findall('[a,b]','asdbasd'] 匹配a,或者b都可以。或的关系

[] 字符集 ret = re.findall('[a,*]),'as*') 取消元子符的特殊作用,这里*已经不是元子符了,就是作为*这个字符。这三个字符例外(\ ^ -)

ret = re.findall('[1-9]','asd1231')    1-9的意思

ret = re.findall([^t],'tasdasd') 取反,除t以外的所有字符ret = re.findall([^t,a],'asd') t,a 是一组,这里去除去t 和a 以外的其他字符

\ 正则里最重要的一个:

反斜杠后面跟元子符取出特殊功能

反斜杠后面跟元字符实现特殊功能

\d 匹配任何十进制数 等价于[0-9]

\D 匹配任何非十进制数字符 等价于[^0-9]

\s 匹配任何空白字符  re,findall('\sasa','asd sasa')

\S 匹配任何非空白字符

\w 匹配任何字母数字字符

\W 匹配任何非字母数字字符

\b 匹配一个特殊边界,单词和空格间的位置

####

re.search('sb','saasdsbasassb')  search方法只返回匹配的第一个值,后面匹配的就不返回了。

ret = re.search('sb','saasdsbasassb')  ret.group() 获取对象的值

()

匹配()里面的内容作为一组,所有的都匹配出来

print(re.search('(as)+','sdjkfasas').group())

| 管道符,匹配或者

##########

re 下面的方法

findall 返回所有匹配只

search 返回一个对象,包含匹配第一个的信息,通过对象的group方法取第一个值

match 只在字符串开头进行匹配,也只返回一个对象,对象也通过调用group方法取值

split  re.split('[j,s]','adjkasall')  分割,这个要先用js进行分割,分割完后剩下的内容再使用s进行分割。

re.sub 替换  re.sub('a..x','s..b','asdasdasassxasd') 规则,替换成的内容,被替换的字符串

re.compile  编译一个匹配规则,用于多次调用  obj=re.complie('\.com')   obj.findall('asdasd.comasdasd')

最新文章

  1. ElasticSearch 5学习(3)——单台服务器部署多个节点
  2. java中类继承,到底继承了什么?
  3. sublime Text3 编写java
  4. linux下搭建php的集成环境
  5. Redhat下如何搭建NFS
  6. PHP 对于 MYSQL 基础操作
  7. Setting up Nutch 2.1 with MySQL to handle UTF-8
  8. 用shell获取文件大小
  9. sql 查找数据库中某字符串所在的表及字段
  10. shell输出加颜色
  11. SmileyFace——基于OpenCV的人脸人眼检测、面部识别程序
  12. nodejs mysql 数据查询例子
  13. jenkins 备份配置信息
  14. 同一台电脑上个人的github账户如何与公司的gitlab账户共存
  15. 【树形dp入门】没有上司的舞会 @洛谷P1352
  16. python系统编码转换
  17. 浅谈js设计模式 — 享元模式
  18. font:12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif详解
  19. android 注册广播接受者
  20. CSS:scrollbar的属性及样式分类

热门文章

  1. linux的cron
  2. .NET Core----七牛云图片上传
  3. html注意事项
  4. java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象
  5. poj 1741
  6. 爬虫-request和BeautifulSoup模块
  7. kettle基础概念的学习
  8. kubernets helm 如何删除tiller
  9. 快速从一个空虚拟机,空idea打通提交spark
  10. python3 代理设置