正则 (+Tips:查看所有关键字)

#Tips:
# help('keywords') # 查看所有的关键字

# 一、正则表达式的概念
# 概念:对特殊的字符做过滤、验证



# 二、re模块
import re
# re.findall() # 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表
# re.search() # 扫描整个字符串,匹配成功 返回的是一个匹配对象(这个对象包含了我们匹配的信息)
# 注意:search也只能匹配到一个,找到符合规则的就返回,不会一直往后找
# re.match() # 尝试从字符串的起始位置匹配一个模式,匹配成功 返回的是一个匹配对象(这个对象包含了我们匹配的信息),
# 如果不是起始位置匹配成功的话,match()返回的是空。
# 注意:match只能匹配到一个



# 三、元字符

# 单字符匹配 . [] \d \D \s \S \w \W
# 可以用r进行字符串转义,以便匹配字符串中出现其他的字符而无法匹配


# 数量字符匹配


# 边界字符匹配


# 分组匹配:| (ab)
# | 匹配左右任意一个表达式
# (ab) 将括号中字符昨晚一个分组

# 贪婪与非贪婪
# 正则默认都是用贪婪模式去匹配数据的,就是尽可能多的匹配符合要求的数据,
# 在非贪婪模式下,始终找最短匹配。在正则表达式的匹配条件最好加上 ? 变成非贪婪模式。


# 例题:
# 匹配整数
# st = re.findall(r'^-?[1-9][0-9]*|0','-23')
# print(st)

# 匹配小数
# flt = re.findall(r'^-?[1-9][0-9]*\.[0-9]+|^-?0\.[0-9]+','-12.115')
# print(flt)
posted @ 2018-08-31 09:34  Nealxyz  阅读(1302)  评论(0编辑  收藏  举报