初识正则表达式


正则表达式:

1. 概念: 一种字符串匹配规则

  1.1 判断 input进来的 是不是qq号 是不是手机号 身份证号 ......
  1.2 有一个文件,要求把手机号 qq号 取出来

2. 能做什么:

  2.1 可以制定一个规则:
    # 来确认某一个字符串是否符合规则的内容
    # 从打断的字符串中找到符合规则的内容

  2.2 程序领域
    # 1,登录程序页的都表单验证 web开发 要求简单语法
    # 2,爬虫 提取网页信息,找到自己需要的信息,数据分析
    # 3,自动化开发 日志分析

3. 语法:
  3.1 元字符

\     转义符
.     匹配除换行符外任意字符
\w    匹配数字字母下划线
\d    匹配数字
\s    匹配空白符  \n \t
\n    匹配一个换行符
\t    匹配一个制表符
\b    匹配一个单词的结尾
^     匹配字符串的开始
$     匹配字符串的开始
\D    匹配非数字
\W    匹配非数字字母下划线
\S    匹配非空白
a|b   匹配字符a或者字符b
()    匹配括号内的表达式,也表示一个组  group()
[...] 匹配字符组中的字符
[^..] 匹配除了字符组中字符的所有字符  表示 非
[\d\D]  [\w\W]  [\s\S] 匹配所有


  3.2 量词 ? + * 贪婪匹配

?     重复0次或者1次
+     重复1次或者更多次
*     重复0或者更多次
{n}   重复n次
{n,}  重复至少n次或更多次
{n,m} 重复n到m次


  在量词后加? 取消贪婪匹配,变成惰性匹配
  ?? +? *? 回溯算法

  最常用: .*?x 匹配任意字符,直到找到一个x



posted @ 2018-08-06 18:02  Niuli'blog  阅读(135)  评论(0编辑  收藏  举报