【辅导】Task14 使用正则表达式 主要知识点

    正则表达式是一门“语言”,用于描述文本的模式,以便用于文本的匹配、检索和抓取。正则表达式是简单的,它用普通字符和一些特殊字符(元字符)来描述文本的模式,同时它又是强大的,可以高效地完成文本的处理。

    许多高级语言都支持使用正则表达式,如大家使用过的Javascript和Java,C语言通过第三方函数库也可支持正则表达式,MySQL也支持在SQL语句中使用正则表达式。

    本任务主要让大家熟悉正则表达式的基础知识,掌握常用文本匹配的正则表达式编写。高级的应用还需要大家自己去学习。

1、什么是正则表达式?

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

  • 匹配:使用preg_match()preg_match_all()函数
  • 替换:使用preg_replace()函数
  • 分割子串:使用preg_split()函数

2、正则表达式语法

    正则表达式必须用/…/括起来。如:/^[_a-zA-Z0-9]{3,10}$/

    正则表达式由普通字符特殊字符(元字符)组成。

  • 普通字符:所有不是元字符的字符,包括大小写字母、数字、标点符号和其它符号。如:/runo*b/中,runob都是普通字符。要表示元字符本身的字符,要使用转义符\,如\-。
  • 元字符:在正则表达式中有含义的字符。
  •  ^ 匹配字符串开始;取非运算
  •  $ 匹配字符串结束
  •  [ ] 匹配多个字符中任一个
  •  {m,n} 重复次数 /^\d{3,}$/
  •  ( ) 组合正则表达式,改变组合优先顺序
  •  | 或运算
  •  * 匹配0次或多次
  •  + 匹配1次或多次
  •  匹配0次或1次
  •  - 连字符,如a-z
  •  . 除\r,\n以外的任意单个字符
  •  \ 转义符,如\\表示\字符

3、正则表达式匹配规则

  • 基本模式匹配,如使用^,$确定头与结尾 /^food$/
  • 使用字符簇,如[a-z]
  • 确定重复出现,如,\w+,\d{10},[1-9]\d*
  • 判断运算符优先级

4、常用正则表达式

(1)中国邮政编码 /^\d{6}$/   [1-9]\d{5}

(2) 手机号码 \d{11}  1[3-9]\d{9}

(3) 国内固定电话号码

(4) 身份证号 \d{17}[0-9xX]

(5) 用户名  思考:必须使用字母开头,后面可以是字母数字下划线,最多32个字符?(PHP中标识符命名规则)

(6) 学号,10位数字

(7) 正整数、整数、浮点数

5、课程预告

下周三(4.22),完成Task 15 熟悉错误调试与异常处理 任务的学习。

下周四(4.23),课堂测验。

从第11周起,我们主要介绍PHP操作MySQL数据库。

猜你喜欢

转载自www.cnblogs.com/whitewin/p/12711313.html