正则表达式笔记

TOC
  1. 1. 界定符
  2. 2. 元字符
  3. 3. 常见原子集合
  4. 4. 量词
  5. 5. 边界控制
  6. 6. 修正模式
  7. 7. 常见正则

界定符

// 界定符,不是正则的的部分
// $reg = '//';

// 原子,可见原子,不可见原子(空格,换行(\n),tab(\t)等). 最小的匹配单位

元字符

// 原子的筛选方式:
// 1) |,匹配两个或者多个分支选择
// 2) [],匹配方括号中的任意一个原子(方括号内必须是原子)
// 3) [^],匹配除方括号中原子之外的任意字符(这种情况下^必须在首)

常见原子集合

// \. 除换行符之外的任意字符
// \d [0-9]
// \D [^0-9]
// \s 不可见原子,即常见的空格,换行等 [\f\n\r\t\v]
// \S 可见原子, [^\f\n\r\t\v]
// \w [0-9a-zA-Z_]
// \W [^0-9a-zA-Z_]

量词

// 量词(放在元字符背后)
// {n} 恰好出现n次
// {n,} 前面的原子至少出现n次
// {n,m} 至少n次,至多m次
// * {0,} 可以理解成{0,∞}
// + {0,} 可以理解成{1,∞}
// ? {0,} 可以理解成{0,1}

边界控制

// 边界控制
// ^ 开始
// $ 结束

// () 模式单元 (D|d)uang

修正模式

// 假如有一组电话号码: 020-3456789
// 懒惰匹配(默认) : \d+\-\d+ => 020-3456789
// 贪婪匹配 : \d?\-\d? => 0-3 , 或者 '/imooc.+123/U' (仅限PHP)
// 忽略大小写 '/iMoOc.+123/i'
// 忽略空白符 '/im o o c.+123/x'
// 匹配所有字符 '/im o o c.+123/s'

常见正则

邮箱: ^\w+(\.\w+)*@\w+(\.\w+)+$
URL: (\w+:\/\/)?\w+(\.\w+)+[a-z]$
常用URL: (https?:\/\/)?(\w+\.)+[a-zA-Z]+

// more
Email : /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,3})$/i
Mobile : /^1[34758]\d{9}$/
Url: /^(https?):\/\/[^\s&<>#;,"\'\?]+(|#[^\s<>;"\']*|\?[^\s<>;"\']*)$/i,
Company: /^[\u4e00-\u9fa5a-zA-Z0-9\-\·]+$/,
OrganizationCode: /^[A-Za-z0-9]{15}$/,
Name: /^[\u4e00-\u9fa5a-zA-Z]+$/,
Position: /^[\u4e00-\u9fa5a-zA-Z\-]+$/

访客评论