定界符号
多种都可以,常用为//

原子
最小的一个匹配单位 (放在定界符中),在一个正则表达式中,至少要有一个原子
1,打印字符(a-z A-Z 0-9 ~!@#$%^&*()_+...)和非打印字符
2, 代表一类字符
\d :任意一个数字 [0-9]
\D :任意一个非数字 [^0-9]
\w :任意一个字 a-z A-Z 0-9 _ [a-zA-Z0-9_]
\W :任意一个非字 [^a-zA-Z0-9_]
\s :代表任意一个空白 [\t\n\f\v]
\S :代表任意一个非空白 [^\t\n\f\v]

[\x{4e00}-\x{9fa5}]:代表所有汉字,但是需要配合模式修正符u使用,不然会报错

3,自定义原子表
[fws3] :fws3任意一个字符
[^1-9a-z] :非1-9 a-z的任意一个字符
[2-9x] :2-9或者x的任意一个字符
4,点(.) 能代表所有任意一个字符

元字符
不是单独使用的,是用来扩展和限定原子的 (写在定界符号中)
* 用来修饰其前面的原子可以出现0个或多个(任意次) {0,}
+ 用来修饰其前面的原子出现1次或多次 {1,}
? 用来修饰前面的原子出现0次或1次 {0,1}
{n} 用来修饰其前面的原子出现n次
{n,m} 用来修饰其前面的原子出现n到m次,包括n和m
{n,} 用来修饰其前面的原子至少出现n次,包括n
| 是或的关系 ,表示它两边的原子,只要一个出现就可以了,但是 | 优先级是最低的
^ 或 \A 表示必须以什么开始,这个必须写在正则表达式的最前面
$ 或 \Z 表示必须以什么结束,这个必须写在正则表达式的最后面
\b 单词边界
\B 不是单词边界的部分

模式修正符 (单个字符)
1,模式修正符写在定界符号 ,放在右边 "/go*gle/i"
2,模式修正符号,一个字符就是一个功能,可以组合使用
作用:
修正正则表达式的解释,或扩充正则表达式的功能
i : 不区分大小写
s : 原子. 可以匹配换行符(\r)
x : 去除正则表达式里的空白
U :让 原子. 变得不贪婪 (在. 后面加? 也可以取消贪婪模式,即.*? 或.+?)

u:utf8编码。匹配汉字时使用
其他符号

() (括号)
1,改变优先级
2, 将小原子变成大原子
3,子模式,整个表达式是一个大的模式,小括号中是每个独立的子模式
4,反向引用
$preg = '/title\=\"(.+?)\"\>(\\1)\<\/a\>/'; //  \\1:引用匹配的第一个子模式的内容

\1引用前面括号里的模式,即第一个模式 (?:xxx)使括号失去3,4功能

\ (转义字符)
1,可以将有意义的字符转成没有意义的原子字符 \^ \. \+ \' \" \?
2, 可以将没有意义的字符转成有意义的原子 \t \cx \f \n \r \v
3, 加上 \也没意义的字符,加不加\都没区别 \_ \q

实例
匹配网址
$reg = "/(https?|ftps?)\:\/\/(www|mail|bbs)\.(.+?)\.(com|cn|net)([\w\-\/\.\=\?\&\%]*)?/i";

preg_match("/^([\x{4e00}-\x{9fa5}]|\w|\_|\-){2,18}$/u",$_GET['name'] )

匹配邮箱
$reg = "/\w+([+-.]\w+)*@\w+([-.]\w+)*/";

函数

正则的查找
preg_match(pattern, subject ,data); //查找一个
preg_match_all(pattern, subject, data); //查找所有

正则的分割
preg_split(pattern, subject);

正则的替换
preg_replace(pattern, replacement, subject);

//一些心得

编码的问题,如果正则表达式和内容编码不同,会导致匹配不出,这时要将正则表达式\内容 转码

iconv('utf-8','gbk','/\&pn\=73\"\>尾页\<\/a\>/')

php preg正则表达式的组成部分的更多相关文章

  1. php preg正则表达式

    Note: 反斜线在单引号字符串和双引号字符串 中都有特殊含义,因此要匹配一个反斜线, 模式中必须写为 ”\\\\”. 译注: “/\\/”, 首先它作为字符串,反斜线会进行转义, 那么转义后的结果是 ...

  2. Regular Expression(正则表达式)之邮箱验证

    正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串.使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本.其 ...

  3. python 详解正则表达式的使用(re模块)

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

  4. PHP正则表达式笔记和实例

    转自:  https://www.cnblogs.com/yafei236/p/4168290.html 本文主要介绍如何在PHP使用正则表达式,并附带几个实例. 这两天工作用到了正则表达式,发现自己 ...

  5. Python学习笔记 - day10 - 正则表达式

    正则表达式 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样 ...

  6. PHP正则表达式考察点

    正则表达式的作用 分隔.查找.匹配.替换字符串 正则表达式的组成部分 分隔符 "/" . "#" . "~" 通用原子 \d : 十进制的0 ...

  7. Python - 正则表达式 - 第二十二天

    正则表达式 - 教程 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"). 正则表达式使用单 ...

  8. Hive正则表达式

    正则表达式基本语法 用圆括号将所有选择项括起来,相邻的选择项之间用|分隔.但用圆括号会有一个副作用,使相关的匹配会被缓存,此时可用?:放在第一个选项前来消除这种副作用. 其中 ?: 是非捕获元之一,还 ...

  9. PHP正则表达式核心技术完全详解 第1节

    作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.com 个 ...

随机推荐

  1. mysql 时间,时间戳,字符串之间相互转换

    时间转字符串 date_format(now(),'%Y-%m-%d') 时间转时间戳 unix_timestamp(now()) 字符串转时间 str_to_date('2020-01-19','% ...

  2. Net项目添加 WebAPI

    1.新建一个  WebApiConfig.cs public static void Register(HttpConfiguration config) { // Web API 配置和服务 // ...

  3. jQuery---prop方法和表格全选案例

    prop方法和表格全选案例 对于布尔类型的属性,不用attr方法,应该用prop方法 prop用法跟attr方法一样 <input type="button" value=& ...

  4. ssh配置跳板机-带密钥

    ssh配置跳板机堡垒机带密钥 ~/.ssh/config 添加以下配置: # 跳板机地址 Host jumper HostName jumper.com User jumper port 23333 ...

  5. ECMAScript基本语法——⑥流程控制语句

    if...else...switch...case... 在java中能接收的数据类型:byte .short.char.int.枚举类型(JDK5.0新增).String类型(JDK7.0新增) s ...

  6. 堆优化的dijkstra算法

    #include<bits/stdc++.h> using namespace std; #define ll long long #define P pair<int,int> ...

  7. 【巨杉数据库SequoiaDB】企业级和开源领域“两开花”,巨杉引领国产数据库创新

    2019年12月15日,OSC 源创会·年终盛典在深圳圆满举行.巨杉数据库作为业界领先的金融级分布式数据库厂商, 获得 “2019年开源数据库先锋企业” 及 “2019 GVP-Gitee最有价值开源 ...

  8. 《深入理解java虚拟机》读书笔记二——第三章

    第三章 垃圾收集器与内存分配策略 1.判断对象是否已死 引用计数法: 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,每当引用失效时,计数器值就减1. 任何时刻计数器为0的对象就是不 ...

  9. LED Holiday Light-5 Mm Wide Angle Cone Lights: Pros

    But in rare cases, the opposite is true: the opinions of consultants are so synchronized that it is ...

  10. 销量下跌、质量问题不断,小鹏G3“维权门”之后的日子不好过

    编辑 | 于斌 出品 | 于见(ID:mpyujian) 小鹏汽车何时能站上国内新能源汽车行业C位?这是于见之前提出过的问题.随着上个月小鹏汽车终于发布了2020款小鹏G3,从该款产品的用户反馈及销量 ...