正则表达式

一.正则表达式

所有的模块都要经历两个步骤:

(1)要操作的概念本身           正则表达式                    时间

(2)使用模块去操作它                re                             time

1.什么是正则表达式

一种可以匹配字符串的规则(只能匹配字符串)

2.正则表达式可以做什么?

(1)可以制定一个规则:

  ①来确定某一个字符串是否负责规则

  ②从大段的字符串中找到符合规则的内容

(2)程序领域

  ①登录注册的表单验证(web开发,要求简单语法)

  ②爬虫(把这个网页的源码拿到,并可以从源码中获取有效的信息,并进行数据分析)

  ③自动化开发(日志分析)

3.正则表达式的语法

(1)字符组

字符:

"."       匹配除换行符以外的任意字符,一个字符

"w"       匹配字母或数字或下划线,一个字符

"s"          匹配任意的空白符(回车,空格,制表符),一个字符

"d"==[0-9]     匹配数字,一个字符

" "       匹配一个换行符

 " "       匹配一个制表符

""      匹配一个单词(包括字母.数字,下划线,特殊符号)的结尾

"^"      匹配字符串的开始

"$"      匹配字符串的结尾

"W"      匹配非字母或数字或下划线

"D"      匹配非数字

"S"      匹配非空白符 (回车,空格,制表符)

"a|b"      匹配字符a或者字符b

"()"      匹配括号内的表达式,也表示一个组

"[...]"      匹配字符组中的字符

"[^...]"     匹配除了字符组中的字符的所有字符


(2)量词

 


(3)字符集 [] [^]

 


(4)分组()或| [^] 

 


(5)转义符


(6)贪婪匹配


(7)特殊的用法和现象

?的使用:

  ①在量词的后面跟了一个?,取消贪婪匹配,则是惰性模式

最常用的 .*?x 匹配任意字符直到找到x    (x是一个字符)

总结:

(1)元字符

(2)元字符 量词     贪婪匹配

(3)元字符 量词 ?   惰性匹配

原文地址:https://www.cnblogs.com/lhy979/p/9433730.html