正则表达式 Regular Express
正则表达式 Regular Express
标签(空格分隔): 正则表达式 PHP
认识正则表达式
正则表达式就是用某种模式去匹配一类字符串的一种公式。通俗来讲,就是一系列匹配规则。
PHP中的正则函数
- PCRE库提供的函数, 以
preg_
为前缀命名。 - POSIX扩展提供的函数,以
ereg_
为前缀命名。
组成
分隔符
表达式
修饰符
- 分隔符:可以是除了字母、数字、反斜线及空白符以外的任何字符
- 表达式:由一些特殊字符和非特殊字符组成。
- 修饰符:用于开启或者关闭某种功能。
元字符(Meta-Characters)
是正则表达式中具有特殊意义的字符
常用元字符
元字符 | 描述 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母、数字或下划线或汉字 |
\s | 匹配任意空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符的开始 |
$ | 匹配字符的结束 |
- | 表示范围 |
[ ] | 匹配括号中的任意一个字符 |
*、+、? | 量词 |
量词
限定符 | 描述 |
---|---|
* | 重复0次或更多次 |
+ | 重复1次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 至少重复n次 |
{n,m} | 重复n次到m次 |
正则表达式匹配规则
- 字符组
[0-9]
- 转义
\\
\{
\}
- 反义
字符 | 描述 |
---|---|
\W | 匹配任意不是字母、数字、下划线、汉字的字符 |
\S | 匹配任意不是空白的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除x以外的任意字符 |
4. 分支 就是存在多种可能的匹配情况。[ch]at=(c|h)at
5. 分组
类别 | 代码/语法 | 描述 |
---|---|---|
捕获 | (exp) | 匹配exp,并捕获文本到自动命名的组里 |
(?<name>exp)
|
匹配exp,并捕获文本到名称为name的组里,也可写成(?’name’exp) | |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给次分组分配组号 | |
零宽断言 | (?=exp) | 匹配exp前面的位置 |
(?<=exp) | 匹配exp后面的位置 | |
(?!exp) | 匹配后面跟的不是exp的位置 | |
(?<!exp)
|
匹配前面不是exp的位置 |
正则表达式 Regular Express相关推荐
- 初步了解并使用正则表达式 (REGular EXPression)
正则表达式(REGular EXPression),正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本.只有掌 ...
- java正则表达式及api_JAVA常用API:正则表达式regular expression
一.正则表达式的概念 正则表达式,regular expression,在代码中通常简写成regex 正则表达式是一个字符串,使用每单个字符串来描述.定义匹配规则,匹配一系列符合某个语法规则的字符串. ...
- 正则表达式 匹配点号_Python入门:正则表达式(Regular Expression)
正则表达式用来干嘛 正则表达式是用来匹配文本的一种语言.别被语言吓到,正则表达式其实非常简单,可能你花2个小时就能用起来,但是你一定会觉得非常强大,像非常厉害的数据爬取,网页爬虫,都要用到正则表达式! ...
- oracle的正则表达式(regular expression)简单介绍
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境. Oracle 10g正则表达式提高了SQL灵活性.有效的解 ...
- 正则表达式Regular Expression
<编译原理>第三章习题 我们的教材是那本经典的"龙书":<Compiler: Principles, Techniques, and Tools> 灰常灰常 ...
- 正则表达式(regular expression)————以Qt为例
文章目录 1 应用 2 简介 2.1 组成 2.2 特殊字符 2.2.1 匹配多个字符串 2.2.2 替换字符串 2.2.3 统计字符出现次数 2.3 Qt中使用 3 regexp结构集合 3.1 表 ...
- Regular Expression:C++正则表达式库(RE库regex)
正则表达式(Regular Expression)是一种描述字符序列的方法,是处理字符序列的一种强大的计算工具!(字符串的匹配.查找.替换) 1.ECMAScript :ECMA-262规范: ECM ...
- 通配符(WildCard)与正则表达式(Regular Expression)
1.通配符(wildcard)就是万用牌的意思 * 表示匹配任意长度的任意字符 ? 表示匹配一个任意字符 [-]则表示匹配括号中列出的字符中的任意一个 [!..]表示不匹配括号中列出的字符中的任意一个 ...
- UltraEdit正则表达式使用(Regular Expressions in UltraEdit)
正则表达式作为模式匹配,经常用于查找/替换操作的特定字符串.使用正则表达式来简化操作和提高效率的方式有许多.下面列出了一个用于ultra - edit样式和unix样式正则表达式的参考以及一些示例,演 ...
- python3 爬虫相关学习10:RE 库/ regex /regular experssion正则表达式学习
目录 1 关于:re / regex / regular expression 1.1 什么是正则表达式 1.2 在python中安装正则模块 1.2.1 python里一般都默认安装了 re正则模块 ...
最新文章
- Ubuntu常用快捷键
- cmd.exe命令行方式执行matlab代码 【转】
- Kotlin的Reified类型:怎样在函数内使用这一类型(KAD 14)
- openssl 版本区别_冰蝎的前世今生:3.0新版本下的一些防护思考
- 永洪报表工具_该怎么选BI工具
- 【GitHub教程】如何使用Eclipse将本地项目上传到github
- WPF对某控件添加右键属性
- java能打开mob吗_使用 Java添加KeyMob手机聚合平台教程
- ilm 和dlm差异_Oracle 的信息生命周期管理工具(ILM assistant)
- 身处小公司,如何在2年内快速突破,拿到大厂offer?
- 全网首发:freeswitch无法正常绑定端口5060的解决办法
- alpha因子常见问题_因子体系(一):从因子确定到ALPHA和风险的界定
- excel按某个值进行筛选后,将筛选出来的行进行排序
- 浅析服装信息化面前的三座大山
- 轮播图展示与轮播图管理
- win32API网址
- Vuex、axios以及跨域请求处理
- python执行javascript网页_Python 爬虫如何优雅地执行 javascript 函数
- iOS冰与火之歌 – Objective-C Pwn and iOS arm64 ROP
- c语言程序设计精髓daan,2020MOOCC语言程序设计精髓标准答案
热门文章
- C#实现百度翻译API调用
- 怎样查询服务器中标信息,太极中标云服务器
- python alpha通道_python – 使用matplotlib和alpha通道组合图片和绘图
- 计算机分盘介质受写入保护,硬盘介质受写入保护怎么办
- 非银行支付机构网络支付业务管理办法
- v-else-if使用方法
- Ubuntu 修改鼠标中键功能
- Python爬虫入门教程:豆瓣Top电影爬取
- vc2005和IE冲突 主要是在通过向导添加方法或变量的时候会报脚本错误。
- linux wifi音箱,基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一)