一、正则表达式:

(1).正则表达式是干什么的

 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

(2). 正则表达式的的语法

  1.字符

    1. \d    相当于[0-9]  匹配所有数字

      正则表达式:\d

      要匹配的字符:sjdksajdksj

    2. \w   相当于[A-Za-z_]  匹配所有字符

      正则表达式:\w

      要匹配的字符:%sjd     k4 64sajdksj21_   @

    3. \s  匹配空格、换行符(\n)、制表符(\t)

    4. \b  边界符 

      正则表达式: ing\b

      要匹配的字符: thing taking tingouing  (匹配有边界的,没有边界的是不会匹配)

    5. \B 非边界

    6. \D 是\d 取反  匹配除数字以外的所有字符

      正则表达式:\D

      要匹配的字符:1545@%6siudaijs sa@

    7. \W 是\w 取反

      正则表达式:\W

      要匹配的字符:1545@%6siudaijs sa@

. \S 是\s 取反

      正则表达式:\S

      要匹配的字符:1545@%6siudaijs   sa@    

  2. 量词

    *  取*前面一个字符的零次或多次   

    + 取+前面一个字符的一次或多次

              ?取?前面一个字符的零次或一次  (可以取消正则表达式的贪婪)

    .  取所有的字符包括空格、制表、换行   

    ^ 表示从头开始取

      正则表达式:^\d*

      要匹配的字符:123465sdjhaijeo 454sds21d2s1d5s4

    $ 表示一个字符的结尾

      正则表达式:\d*$

      要匹配的字符:123465sdjhaijeo 454sds21d2s1d5s

    | 表示 或可以取两边谁满足的字符串 (如果 | 两边的表达式,后面的包含前面的内容但是还加了其他内容时,要放在前面,不然就匹配不到后面的表达式)

      正则表达式:\d+\.\d+|\d*  (匹配小数或者整数)    如果   |   两边的表达式调换则不能匹配到小数    \d*|\d+\.\d+

      要匹配的字符:sdjhasdsdsdssdjha.ijeo sdsdsds

    {n}  匹配前面字符n次

      正则表达式:\d{3}

      要匹配的字符:sdjha2.3ijeo sds21d2s1d5s   

    {n,} 匹配前面字符至少n次

      正则表达式:\d{3,}

      要匹配的字符:sdjha2.3ijeo sds21d2s1d5s445   

    {n, m} 匹配前面字符n次到m次 (n次到m次之间的都可以)

        正则表达式:\d{2,4}

      要匹配的字符:sdjha2.3ijeo sdsd2s1d5s445   

    ()可以把多个字符分在一组

       正则表达式:\w+@[0-9A-Za-z]+\.([0-9A-Za-z]*\.)*com    里面还有很多东西没有处理(这里只是想说一下()的作用)

      要匹配的字符:1235456@qq.com    |   1235456@qq.12356.com                  都可以匹配

     []  表示一个字符组

其中 基本量词里面的都有特殊的含义,想要表达他们就要用到转义符 \  把他们转回原来的比如 \$ 就是匹配 $

一般 * . + ? 都具有贪婪性可以加?取消他们的贪婪性

令附:正则表达式查询的网址:http://tool.chinaz.com/regex

Python re模块前的正则表达式常用语法小总结的更多相关文章

  1. python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义

    本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...

  2. python re 模块和基础正则表达式

    1.迭代器:对象在其内部实现了iter(),__iter__()方法,可以用next方法实现自我遍历. 二.python正则表达式 1.python通过re模块支持正则表达式 2.查看当前系统有哪些p ...

  3. python开发模块基础:正则表达式

    一,正则表达式 1.字符组:[0-9][a-z][A-Z] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示字符分为很多类,比如数字.字母.标点等等.假如你现在要求一个位置&q ...

  4. python 基础 8.0 regex 正则表达式--常用的正则表达式

    一. python 中常用的正则表达式         二. 正则表达式的网站,可以进行在线正则匹配 https://regex101.com/   1. 使用方法及正则介绍 1> ‘.’  匹 ...

  5. Python引用模块和查找模块路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译 ...

  6. Python::re 模块 -- 在Python中使用正则表达式

    前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细 ...

  7. python【第五篇】常用模块学习

    一.主要内容 模块介绍 time &datetime模块 random os sys shutil json & pickle shelve xml处理 yaml处理 configpa ...

  8. python全栈开发之正则表达式和python的re模块

    正则表达式和python的re模块 python全栈开发,正则表达式,re模块 一 正则表达式 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的 ...

  9. [PyTorch]PyTorch/python常用语法/常见坑点

    目录 1. make_grid() 2. join与os.path.join() 3. 读文件写文件 4. json操作 5. tensorboard使用 6. python shutil.move ...

随机推荐

  1. 在Windows下编译Cef3.2623并加入mp3、mp4支持(附带源码包和最终DLL)《转》

    https://blog.csdn.net/zhuhongshu/article/details/54193842 源码包下载地址:点我下载 最终Dll.Lib.PDB.头文件下载地址(release ...

  2. GIS地理工具案例教程——批量去除多边形的重叠部分

    GIS地理工具案例教程--批量去除多边形的重叠部分 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 问题:几乎所有的手工生产的数据,都存在多边形 ...

  3. 到底啥是鸭子类型(duck typing)带简单例子

    #百度百科鸭子类型定义 这是程序设计中的一种类型推断风格,这种风格适用于动态语言(比如PHP.Python.Ruby.Typescript.Perl.Objective-C.Lua.Julia.Jav ...

  4. The Practical Importance of Feature Selection(变量筛选重要性)

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  5. Android studio -SVN 使用笔记

    1.Android studio 安装 中文组官网:http://www.android-studio.org/ 常见问题参考: 分支冲突合并 http://blog.csdn.net/tearsmo ...

  6. jenkins关联shell命令修改pom项目版本

    #获取pom文件内的项目版本 version=`awk '/<version>[^<]+<\/version>/{gsub(/<version>|<\/ ...

  7. hive分区表新增字段,已有分区显示为null

    如果在hive的分区表新增非分区字段,那么原有的分区的数据即使重新运行也会显示为null. 必须先删除该分区,再重新跑数据.

  8. 一个Redis实例适合存储不同应用程序的数据吗?

    Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念. Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据 ...

  9. Java socket详解

    参考 https://www.jianshu.com/p/cde27461c226 刚给大家讲解Java socket通信后,好多童鞋私信我,有好多地方不理解,看不明白.特抽时间整理一下,详细讲述Ja ...

  10. .gitignore 模板

    .gitignore 模板 HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/** ### ST ...