最近 写一个项目 用到了 正则表达式 整理了一下

1.2正则表达式
正则表达式由有普通字符和一些元字符(具有特定含义的字符)组成。
脚下留心:正则表达式是表达式,不是一门语言,既然是表达式既可以运行在客户端也可以运行在服务器端,而且跨语言跨平台。
正则表达式区分大小写

1.3中括号的应用
方括号中的字符属于普通字符
1、[0-9a-zA-Z_]:字母、数字、下划线
2、[c-f]:c到f的任意字符


match:用来匹配字符串,没有找到匹配返回null,找到匹配返回一个数组

注意:正则表达式必须放在/ 正则表达式 /之间


1.4量词
量词用来指定字符出现的次数
字符 含义

  • 字符出现的次数>=1
  • =0
    ? =0或=1
    {n} 字符出现n次
    {n,m} 字符出现的次数>=n并且<=m
    {n,} 字符出现的次数>=n


1.5元字符
字符 含义
() 作用一:将多个字符组成一组
作用二:模式单元(提取匹配数据)
[] 定义字符集合
{} 定义字符重复的次数

  • 字符出现的次数>=1
  • =0
    ? =0或=1
    ^ 表示匹配开始
    $ 表示结束
    . 代表任意字符
    \ 转义字符
    | 或者

例题:小括号,将小括号中字符串作为一个整体


例题:^和$


例题:.代表任意字符,\表示转义

最近 写一个项目 用到了 正则表达式 整理了一下_第1张图片
image.png

例题:或


关于元字符的练习


1.6模式修正符
i 忽略区分大小写
g: 全局匹配

最近 写一个项目 用到了 正则表达式 整理了一下_第2张图片
image.png

1.7模式单元
模式单元用于将匹配的数据提取出来

最近 写一个项目 用到了 正则表达式 整理了一下_第3张图片
image.png

用于做爬虫技术(数据采集)

(.+)<\/div>/';
preg_match($pattern, $str,$info);
echo ($info[1]);
?>

1.7.1模式单元的重复匹配
模式单元的重复匹配是从1开始, \1表示第一个模式单元 \2表示第二个模式单元


1.7.2模式单元括号的索引
如果没有括号的嵌套,从左往右计数
如果有括号嵌套,从外向里计数。

最近 写一个项目 用到了 正则表达式 整理了一下_第4张图片
image.png

1.8字符簇
字符簇 含义
\d 数字
\D 非数字
\w 字母、数字、下划线
\W 非字母、数字、下划线
\s 空白字符
\S 非空白字符
\b 单词的边界
\B 非单词边界
例题


1.9脱字符
脱字符表示不在某个范围里面

最近 写一个项目 用到了 正则表达式 整理了一下_第5张图片
image.png

1.10正向预查
在用正则表达式匹配数据的时候,取出的数据可能还不是我们想要的数据,我们需要通过辅助条件再次进行筛选。
正向预查就是辅助条件在查询表达式的右边。
1.10.1正向匹配
语法:patten(?=模式)
patten:是正则表达式的匹配内容
小括号中是辅助条件,辅助条件在正则表达式右边


1.10.2正向不匹配
语法:patten(?!模式)


1.11反向预查
辅助条件在正则表达式左边
脚下留心:js不支持,PHP支持
1.11.1反向匹配
语法:(?<=模式)patten

最近 写一个项目 用到了 正则表达式 整理了一下_第6张图片
image.png

文章内容 都是 个人收集整理,修改过后的。

你可能感兴趣的:(最近 写一个项目 用到了 正则表达式 整理了一下)