正则表达式基础篇

正则表达式就是用某种模式去匹配一类字符串的一种公式。

PHP中的正则表达式

PHP中有两套正则函数preg和ereg(5.3以后不再推荐使用)

正则表达式的组成

  • 分隔符:除了字幕、数字、反斜线、空白字符之外的任何字符
  • 表达式:由一些特殊字符和非特殊字符串组成
  • 修饰符:用于开启或者关闭某种功能

正则表达式中的元字符

  • 常用元字符
元字符 描述
. 匹配除换行符以外的任意字符
\w 匹配字母、数字、下划线、汉字
\s 匹配任意空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
- 表示范围
[] 匹配括号中任意一个字符
*、+、? 量词
  • 例子
正则表达式 匹配内容
\ba\w*\b 匹配以字母a开头的单词
\d+ 匹配1个或更多连续的数字
\b\w{6}\b 匹配刚好6个字符的单词

注意:单词指的是字母或者数字

  • 量词
限定符代码 描述
* 重复0次或更多次
+ 重复一次或更多次
? 重复0次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
  • 转义字符:\
  • 反义
元字符 描述
\W 匹配不是字母、数字、下划线、汉字
\S 匹配非空白符
\D 匹配非数字
\B 匹配不是单词的开始或结束的位置
[^x] 匹配除了x以外的字符
[^aeiou] 匹配除了aeiou之外的字符

注意:反义不可多用,因其扩大了匹配范围,可能匹配到不是原来要的

  • 分支:|
    例子:
    (c|h|f|to)at : 匹配cat,hat,fat,toat
    [ch]at == (c|h)at

注意: 括号可有可无,但是正则匹配的规则是:从左到右测试每个条件,如果满足了某个分支,就不会再考虑其他分支

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式概念源于 《神经网事件的表示法》论文中。 正则表达式就是用某种模式去匹配一类字符串的一种公式。 正则表达...
    单板小智阅读 4,136评论 0 1
  • 正则表达式很好用,了解基本的知识是熟练应用它的开始 正则表达式常用在更加复杂的文本查找和替换里 先了学习下它的基本...
    付德刚阅读 1,566评论 0 0
  • 正则表达式(Regular Expression)是一种文本模式,包含普通字符(a-z, A-Z, 1-9,)和特...
    竹小星阅读 871评论 0 1
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 9,490评论 0 20
  • 推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1阅读 13,966评论 9 151