天天看点

20190430正则表达式知识小结-对比SQL中like语句的pattern匹配在cmd以及jupyter中都可以通过关于python中正则表达式的知识总结

在cmd以及jupyter中都可以通过

help(sum)

import re
help(re.findall)
#手段来获取对于模块的帮助文档
           

关于python中正则表达式的知识总结

. 可以匹配任意字符但是不包括换行符\n pyt.on—pytmon

(不包括换行符的这一点可以通过类似函数findall(pattern, string,flags=0)中的flags参数解决,flags=re.S 指明正则符号.可以匹配任意字符,包括换行符\n)

flags参数用于指定匹配模式,常用值有

(1) flags=re.I 使正则表达式对大小写不敏感

(2) flags=re.M 让正则表达式可以多行匹配

(3) flags=re.S 指明正则符号.可以匹配任意字符,包括换行符\n

(4) flags=re.X 该模式允许正则表达式可以写的更加详细,比如多行表示、忽略空白字符、加入注释等

20190430正则表达式知识小结-对比SQL中like语句的pattern匹配在cmd以及jupyter中都可以通过关于python中正则表达式的知识总结

1. 字符串的匹配查询

re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。

该函数的参数含义如下:

findall(pattern, string, flags=0)

#pattern:指定需要匹配的正则表达式。

string:指定待处理的字符串。

flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。

re.I的模式是让正则表达式对大小写不敏感;

re.M的模式是让正则表达式可以多行匹配;

re.S的模式指明正则符号.可以匹配任意字符,包括换行符\n;

re.X模式允许正则表达式可以写得更加详细,如多行表示、忽略空白字符、加入注释等。

2. 字符串的匹配替换

sub(pattern, repl, string, count=0, flags=0)

repl:指定替换成的新值。

count:用于指定最多替换的次数,默认为全部替换。

flags:同findall函数中的flags。

3. 字符串的匹配分割

re模块中的split函数是将字符串按照指定的正则表达式分隔开,

类似于字符串的split方法。该函数的具体参数含义如下:

split(pattern, string, maxsplit=0, flags=0)

maxsplit:用于指定最大分割次数,默认为全部分割。

flags:同findall函数中的flags。

SQL-like pattern

SQL中like语句用于模糊匹配。其中:

  1. 百分号%表示匹配0个、1个或者多个字符
  2. 下划线_则匹配单个字符

    实例:

    SELECT * FROM Customers WHERE 地址 NOT LIKE '北%'
               

这个语句表示匹配Customers表中地址不以北字开头的那些记录

继续阅读