python-正则表达式

1、什么是正则表达式
用某种字符串表达式制定一个规则,可以实现字符串的模糊匹配
2、正则表达式的用途
1>分析日志,统计
2>数据处理,替换、数据提取、删除等
3>过滤敏感词
3、正则表达式的模块:re
1>如果想写一个时,前面必须加r,否则需要写两个;
    p=re.compile()是对正则表达式进行编译,编译成了一个正则表达式的对象;
    d是代表1个数字,d+是一个或多个数字;
2>p.match(),用正则表达式(p)去匹配“123abc”字符串的开头是否有一个或多个数字,
   如果匹配到了,则会把匹配的内容存入变量里,我们可以调用,如:print p.match(“123abc”).group(),匹配的内容是123;
   如果没有匹配到,print p.match("abc"),则会打印None
   print p.match("abc").group(),则报错:
4、“D”是匹配非数字
正则表达式p.pattern可以返回匹配的是什么格式
5.search是在整个字符串做搜索
6.w-->数字或字母
   w+--->一个或多个数字(字母、下划线)
   W(大写)---->非数字且非字母
    W+-------->一个或多个非数字且非字母
 
也可以这样写re.search("规则",“匹配的字符串”).group()
7"s"返回的是space,即空白
“S”返回的是非space,即非空白
8.findall()找到全部的匹配到的字符
9、.可以匹配除了换行所有的字符
10、h*可以匹配0个或多个h字符
 
练习:英文一个句子,用正则表达式统计一下有几个单词
#encoding=utf-8
import re
a=raw_input("please input aenglish sentence!")
b=re.findall(r"s",a)
print len(b)+1
 
输出结果:
>>> 
==================== RESTART: C:UsersASUSDesktopq.py ====================
please input aenglish sentence:we are my family!
4
>>> 
==================== RESTART: C:UsersASUSDesktopq.py ====================
please input aenglish sentence:please you put your hand on the desk!
8
>>> 
 
 
 
 
原文地址:https://www.cnblogs.com/zqq521/p/7184004.html