美文网首页我爱编程
正则基本操作

正则基本操作

作者: 糖炒栗子_01c5 | 来源:发表于2018-08-09 19:24 被阅读0次

在Python中要使用正则首先要导入模块

#pattern:是你构建的正则表达式对象,可以是个字符串

在re中有几个方法:

1.match 从头开始匹配,只匹配一次,3.匹配到结果后立即返回,并且可以使用group方法获取匹配结果,如果没有匹配到结果返回None

2.search:从头开始匹配,单次匹配,会在整个字符串中找目标,一旦匹配到立即返回,如果整个字符串中都没有,返回None

3.findall:会根据你写的正则表达式,在字符串中匹配结果,会返回所有查找到的结果,返回的结果是一个列表。

4.sub:先根据正则表达式查找到要匹配的字符串,然后使用一个新的字符串,去替换查找到的字符串。

5.split:会根据你正则表达式里面的符号做字符串的分割,返回的是一个列表

6.finditer:跟findall很像,不过返回的结果是一个可迭代对象。

匹配单个字符

.匹配任意1个字符(除了\n)

[ ]匹配[ ]中列举的字符

\d匹配数字,即0-9

\D匹配非数字,即不是数字

\s匹配空白,即 空格,tab键

\S匹配非空白

\w匹配单词字符,即a-z、A-Z、0-9、_

\W匹配非单词字符

匹配多个字符

*匹配前一个字符出现0次或者无限次,即可有可无

+匹配前一个字符出现1次或者无限次,即至少有1次

?匹配前一个字符出现1次或者0次,即要么有1次,要么没有

{m}匹配前一个字符出现m次

{m,n}匹配前一个字符出现从m到n次

匹配开头结尾

^ \A 匹配字符串开头

$ \Z 匹配字符串结尾

分组匹配方式

|匹配左右任意一个表达式

(ab)将括号中字符作为一个分组

\num引用分组num匹配到的字符串

(?P)分组起别名

(?P=name)引用别名为name分组匹配到的

贪婪和非贪婪

Python里数量词默认是贪婪的,总是尝试匹配尽可能多的字符;

非贪婪则相反,总是尝试匹配尽可能少的字符。

在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪。

*? 重复任意次,但尽可能少重复

+? 重复1次或更多次,但尽可能少重复

?? 重复0次或1次,但尽可能少重复

complie函数

import re 将正则表达式编译成 Pattern 对象 pattern = re.compile(r'\d+')

修饰符号 描述 re.I 使用匹配对大小写不敏感(不区分大小写) re.S 使.匹配包括换行符在内的所有字符 re.M 多行匹配 re.L 做本地化识别

match 方法:从起始位置开始查找,一次匹配

search 方法:从任何位置开始查找,一次匹配

findall 方法:全部匹配,返回列表

finditer 方法:全部匹配,返回迭代器

split 方法:分割字符串,返回列表

sub 方法:替换

mysql正则查询

可以用select语句来查询,使用Like  和 regexp 关键字 

LIKE匹配整个列。

而REGEXP在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。

.匹配任意1个字符(除了\n)

[ ]匹配[ ]中列举的字符

\d匹配数字,即0-9

\D匹配非数字,即不是数字

\s匹配空白,即 空格,tab键

\S匹配非空白\w匹配单词字符,即a-z、A-Z、0-9、_

\W匹配非单词字符

*匹配前一个字符出现0次或者无限次,即可有可无

+匹配前一个字符出现1次或者无限次,即至少有1次

?匹配前一个字符出现1次或者0次,即要么有1次,要么没有

{m}匹配前一个字符出现m次

{m,n}匹配前一个字符出现从m到n次

^匹配字符串开头$匹配字符串结尾

|匹配左右任意一个表达式

(ab)将括号中字符作为一个分组

\num引用分组num匹配到的字符串

(?P<name>) 分组起别名

(?P=name) 引用别名为name分组匹配到的字符串

相关文章

  • 正则基本操作

    在Python中要使用正则首先要导入模块 #pattern:是你构建的正则表达式对象,可以是个字符串 在re中有几...

  • MySql正则匹配结果

    正则表达式基本语法: MySql中正则模式使用REGEXP和NOT REGEXP操作符。 基本的正则匹配规则: 1...

  • OC-正则表达式-(第一篇)

    一、正则表达式基本概念 1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。 正则表达...

  • HIVE

    基本操作 hive进入hive模式 exit; 退出hive模式 展示正则匹配表名hive> use ad_s...

  • 正则表达式

    re --- 正则表达式操作 Python正则表达式前向/后向搜索的肯定/否定模式的区别和示例 一、 基本参数使用...

  • 正则表达式

    一、基本概念 1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。 正则表达式可以...

  • Java使用正则匹配网页上的资源

    大家好我是抹茶,今天给大家带来java的正则表达式的使用。 String类中的三个基本操作使用正则: 匹配:mat...

  • Chapter 1.0_TensorFlow的一般套路

    基本操作 基本的计算pipeline: 1.数据处理:比如图片减去平均值,正则化等 2.将数据分为 train s...

  • JavaScript 正则表达式(4)

    在JavaScript正则表达式(3)中,我们一起学习了正则表达式的基本操作,还引出了一些常见的使用技巧。下面我们...

  • 正则表达式基本操作

    正则表达式 1.什么是正则表达式 正则表达式: Regular Expression,是一些由特殊的字符和符号组成...

网友评论

    本文标题:正则基本操作

    本文链接:https://www.haomeiwen.com/subject/brecbftx.html