正则表达式
正则表达式:搜索或检索一个字符串里面的数据
1.内容表示:
(1)[]
[1234]表示一个不连续数1或2或3或4,通俗的讲就是一个中括号代表提取一个数据,[1234]只能在1,2,3,4中选一个
[0-9]表示一个连续数0或1或2或3或4或5或6或7或8或9,通俗的讲就是一个中括号代表提取一个数据,[0-9]可以在0,1,2,3,4,5,6,7,8,9选一个
举例:abcd123abc1234
a.提取数据:[123]
结果:1 2 3 1 2 3 一共6个结果
b.提取数据:[0-9]
结果:1 2 3 1 2 3 4 一共7个结果
c.提取数据:[abc][0-9][0-9][0-9]
结果:d123 c123 一共2个结果
d.提取数据:[abc][0-9][12][123][4]
结果:c1234 一共1个结果
(2).
英文句号点(.)表示任意字符
举例:abcd123abc1234
a.提取数据:[123].[3][abcd]b
结果:123ab 一共1个结果
2.数量的表示:
(1){}
花括号里面的数字表示数量
举例:abcd123abc1234
a.提取数据:[123]{2}
结果:12 12 一共2个结果
b.提取数据:[123]{2}[abc]{2}c
结果:23abc 一共1个结果
c.提取数据:[123].{3}[bc]1
结果:23abc1 一共1个结果
(2)+
加号表示一个或者多个
举例:abcd123abc1234
a.提取数据:[ab][abcd].+[12]+
结果:abcd123abc12 一共1个结果
b.提取数据:[123]+[abc]
结果:123a 一共1个结果
(3)*
星号表示0个1个或多个
举例:abcd123abc1234
a.提取数据:[123]*[abc]
结果:a b c 123a b c 一共6个结果
(4)无
无具体表示的数量形式数量默认为1
3.贪婪匹配:
举例:abcd123abc1234
a.提取数据:[abcd]{2}.*?c
b.提取数据:[abcd]{2}.*c
a提取结果:abc abc 一共2个结果
b提取结果:abcd123abc 一共1个结果
可以明显看到加了贪婪匹配的和没有加的出现了不同,问题就出在*在表示0个1个或多个的时候遵循的原则是就长不就短,
所以当有几个结果的时候它选择了最长的,贪婪匹配会改变它的规则直接选择最短的结果。
原文地址:https://www.cnblogs.com/1527275083gj/p/15024562.html
- 使用Unity创建依赖注入依赖注入生命周期:注册、解析、销毁 注册解析销毁
- 使用WCF进行跨平台开发之三(JAVA调用WCF服务)1.开发必备2.生成WCF客户端3.开发程序4.结束语
- 使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务
- 使用WCF进行跨平台开发之一(WCF的实现、控制台托管与.net平台的调用)1.创建项目结构2.契约的设计3.实现服务4.控制台托管服务5.在.net平台中调用WCF
- 使用GUI工具高效构建你自己的Nuget包丰富包的基础信息添加要包含的文件The end
- 网页结构与表现原则
- CSS3动画功能
- Angular开发者手册重点翻译之指令(一)文本和属性绑定ngAttr属性绑定
- CSS3中的变形处理
- WCF中操作的分界于调用顺序和会话的释放操作分界实例停止
- WCF中数据契约之已知类型的几种公开方式代码中定义配置中定义宿主端使用解析器
- 有趣的算法(一)——n阶层尾部有几个0
- Singal Page App:使用Knockout和RequireJS创建高度模块化的单页应用引擎背景知识文档结构服务端API准备Require配置与系统配置模块中的工作模块间的工作烂图赏鉴代码送上
- Canvas 图片绕边旋转的小动画
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 爬虫例子,Python多线程爬虫例子案例
- 【爬虫】花瓣图片爬虫,Python图片采集下载源码
- Python大作网图片采集下载,多线程图片爬虫
- Python素材下载爬虫,多线程rar下载爬虫
- 一个简单的图片爬虫,Python图片采集下载
- 百度统计后台总是被广告骚扰?看看应用python是如何实现的
- Python电商爬虫,法国亚马逊商品采集
- Python堆糖网图片爬虫,多进程及多线程的使用例子
- Python Post提交简单案例,文本内容在线语音合成
- Python多线程爬虫,主播信息资料爬取采集
- 基于Tensorflow2 Lite在Android手机上实现图像分类
- Python知乎专栏爬虫,pdfkit专栏文章制作PDF电子书
- Python爬虫练手,一个简单的Python资讯采集案例
- Python与seo,百度关键词相关搜索关键词采集源码
- istio请求路由分析