正则表达式
1 常见正则表达式
2 正则表达式
正则表达式是一种独立的语法,和编程语言没有关系,是一种匹配字符串的规则。
3 正则表达式的使用范围
-
来确认某一个字符串是否符合规则
-
从大段的字符串中找到符合规则的内容
程序领域
1.登录注册页的表单验证 web开发 要求简单语法
2.爬虫
3.自动化开发 日志分析
4 字符组
4-1 匹配括号内1个字符
4-2 [0-9][A-Z][a-z]:匹配3个字符,第一个数字,第二个大写,第三个小写
4-3 匹配1个字符(数字或者大小写字母)
4-4 匹配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 字符组的类型 [] [^] | ()
|(或)的用法(身份证)
4-7^ 表示从头匹配
4-8 $表示从尾匹配
4-9 .表示匹配换行符以外的任意字符
5 量词(? + *)
代码块
?匹配0次或者1次
+匹配1次或者多次
*匹配0次或者多次
{n}匹配n次
{n,}匹配至少n次
{n,m}匹配至少n次,最多m次,默认尽可能多,贪婪模式
在量词的后面跟了一个 ? 取消贪婪匹配,非贪婪(惰性)模式
代码块
.*?x 匹配任意字符直到找到一个x
元字符量词 默认贪婪匹配
元字符量词? 表示惰性匹配
练习题
匹配一个整数或者小数
我对任何唾手而得,快速,出自本能,即兴,含混的事物没有信心。我相信缓慢,平和,细水长流的力量,踏实,冷静。我不相信缺乏自律精神和不自我建设,不努力,可以得到个人或集体的解放。