【第60天】正则表达式
2019-09-28 本文已影响0人
36140820cbfd
1 常见正则表达式
正则表达式2 正则表达式
正则表达式是一种独立的语法,和编程语言没有关系,是一种匹配字符串的规则。
3 正则表达式的使用范围
-
来确认某一个字符串是否符合规则
-
从大段的字符串中找到符合规则的内容
程序领域
1.登录注册页的表单验证 web开发 要求简单语法
2.爬虫
3.自动化开发 日志分析
4 字符组
4-1 匹配括号内1个字符
匹配1,2,a,b4-2 [0-9][A-Z][a-z]:匹配3个字符,第一个数字,第二个大写,第三个小写
匹配所有符合条件的4-3 匹配1个字符(数字或者大小写字母)
匹配一个字符4-4 匹配18位身份证号码
匹配18位身份证号码4-5 其它
代码块
\d == [0-9] 也表示匹配一个字符,匹配的是一个数字
\w == [0-9a-zA-Z_] 也表示匹配一个数字字母下划线
\s == [\n \t] 匹配空字符,包括回车 空格 和 制表符tab
\D 匹配非数字
\W 匹配非数字字母下滑线
\S 匹配非空白
[\d\D] [\w\W] [\s\S] 匹配所有
^表示从头开始匹配
$表示从尾开始匹配
.匹配除换行符以外的任意字符
4-6 字符组的类型 [] [^] | ()
|(或)的用法(身份证)
身份证18位
4-7^ 表示从头匹配
必须开头满足条件,否则匹配失败4-8 $表示从尾匹配
结尾必须符合条件,否则匹配失败4-9 .表示匹配换行符以外的任意字符
image.png5 量词(? + *)
代码块
?匹配0次或者1次
+匹配1次或者多次
*匹配0次或者多次
{n}匹配n次
{n,}匹配至少n次
{n,m}匹配至少n次,最多m次,默认尽可能多,贪婪模式
在量词的后面跟了一个 ? 取消贪婪匹配,非贪婪(惰性)模式
代码块
.*?x 匹配任意字符直到找到一个x
元字符量词 默认贪婪匹配
元字符量词? 表示惰性匹配
.*?x 匹配任意字符直到找到一个x
练习题
匹配一个整数或者小数
image.png
别跑,点个赞再走