小菜鸡学习---<正则表达式学习笔记2>
正则表达式学习笔记2
一.修饰符
前面我们学习的都是用于匹配的基本的关键的一些表达式符号,现在我们来学习修饰符。修饰符不写在正则表达式里,修饰符位于表达式之外,比如/runoob/g,这个最后的g就是一种修饰符。下面我们看一些常见的修饰符。
i 就是不区分大小写,搜索时不区分大小写。AbC也能被/abc/i匹配
g 查找所有的匹配项,全部符合要求的字符串。abc234abc,正则为/abc/g,结果为abc,abc
m 多行匹配,前面提到^和$符号,匹配字符串整个的开头结尾,加上m修饰符之后就是匹配字符串每一行的开头和结尾。
s .号默认匹配除了换行符之外的所有符号加上s后.号也能匹配换行符如\n和\r。
二.优先级
1.转义符\
2.圆括号和方括号(),[]
3. 限定符*, +, ?, {n}, {n,}, {n,m}
4. ^, $, \加上前面提到的可以结合的字符
5.替换选择 |符号
三。常用正则表达式(此处引用https://www.runoob.com/regexp/regexp-example.html)
| 正则表达式 | 描述 |
|---|---|
hello |
匹配 {hello} |
gray|grey |
匹配 {gray, grey} |
gr(a|e)y |
匹配 {gray, grey} |
gr[ae]y |
匹配 {gray, grey} |
b[aeiou]bble |
匹配 {babble, bebble, bibble, bobble, bubble} |
[b-chm-pP]at|ot |
匹配 {bat, cat, hat, mat, nat, oat, pat, Pat, ot} |
colou?r |
匹配 {color, colour} |
rege(x(es)?|xps?) |
匹配 {regex, regexes, regexp, regexps} |
go*gle |
匹配 {ggle, gogle, google, gooogle, goooogle, ...} |
go+gle |
匹配 {gogle, google, gooogle, goooogle, ...} |
g(oog)+le |
匹配 {google, googoogle, googoogoogle, googoogoogoogle, ...} |
z{3} |
匹配 {zzz} |
z{3,6} |
匹配 {zzz, zzzz, zzzzz, zzzzzz} |
z{3,} |
匹配 {zzz, zzzz, zzzzz, ...} |
[Bb]rainf\*\*k |
匹配 {Brainf**k, brainf**k} |
\d |
匹配 {0,1,2,3,4,5,6,7,8,9} |
1\d{10} |
匹配 11 个数字,以 1 开头 |
[2-9]|[12]\d|3[0-6] |
匹配 2 到 36 范围内的整数 |
Hello\nworld |
匹配 Hello 后跟换行符,后跟 world |
\d+(\.\d\d)? |
包含一个正整数或包含两位小数位的浮点数。 |
[^*@#] |
排除 *、@ 、# 三个特色符号 |
//[^\r\n]*[\r\n] |
匹配 // 开头的注释 |
^dog |
匹配以 "dog" 开始 |
dog$ |
匹配以 "dog" 结尾 |
^dog$ |
is exactly "dog" |
| 正则表达式 | 描述 |
|---|---|
/\b([a-z]+) \1\b/gi |
一个单词连续出现的位置。 |
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ |
匹配一个 URL 解析为协议、域、端口及相对路径。 |
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/ |
定位章节的位置。 |
/[-a-z]/ |
a 至 z 共 26个 字母再加一个 - 号。 |
/ter\b/ |
可匹配 chapter,而不能匹配 terminal。 |
/\Bapt/ |
可匹配 chapter,而不能匹配 aptitude。 |
/Windows(?=95 |98 |NT )/ |
可匹配 Windows95 或 Windows98 或 WindowsNT,当找到一个匹配后,从 Windows 后面开始进行下一次的检索匹配。 |
/^\s*$/ |
匹配空行。 |
/\d{2}-\d{5}/ |
验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。 |
<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*?> |
匹配 HTML 标记。 |
小菜鸡学习---<正则表达式学习笔记2>的更多相关文章
- bash shell学习-正则表达式基础 (笔记)
A gentleman is open-minded and optimistic; a small person is narrow-minded and pessimistic. "君子 ...
- 前端小菜鸡使用Vue+Element笔记(二)
记录一下在使用Vue和Element做项目时遇到过的难点... 1.在 <el-table>表格中嵌入 select下拉选择框,以及 tooltip提示框的使用 主要定义格式如红色标记代码 ...
- 前端小菜鸡使用Vue+Element笔记(一)
关于使用Vue+Element的项目简介~ 最近因为项目组缺前端人员,所以自己现学现做页面,先把前后台功能调通 觉得前端可真的是不容易呀哎呀~ 首先记录一下相关的Vue入门的教程: vue环境搭建示例 ...
- 小菜鸡的学习笔记---<正则表达式(1)>
正则表达式学习笔记(1) (纯新手学习笔记,大佬绕路 QAQ) 一.简介 正则表达式就是一种文本模式用来匹配一系列满足特定条件的字符串,可以对比一下数学里面的表达式,比如我们要用一个表达式表示一串数字 ...
- JavaScript正则表达式学习笔记(二) - 打怪升级
本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...
- javascript正则表达式 - 学习笔记
JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...
- 【转载】正则表达式学习 & ASCII码表
文章原地址: http://www.jb51.net/tools/zhengze.html <正则表达式30分钟入门教程> 其中有几个地方可以有笔记: \s 匹配任意的空白符 \b 匹配单 ...
- Python学习的个人笔记(基础语法)
Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...
- 鸟哥Linux私房菜基础学习篇学习笔记3
鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
随机推荐
- 如何在CSS中使用变量
前言 CSS变量(官方称为自定义属性)是用户定义的值,它可以在你的代码库中设置一次并多次使用.它们使管理颜色.字体.大小和动画值变得更加容易,并确保整个web应用的一致性. 举个例子,你可以将品牌颜色 ...
- iOS 组件化及二进制化的探索
组件化的优缺点 组件化的拆分 组件与组件之间如何进行通讯(路由) 从Cocopods拉取代码的过程 远程索引库里很多的.spec文件,该文件记录了很多内容,如用户名,框架名称,描述,框架的地址 Pod ...
- java8 新特性 -Optional的常见用法
1. Optional 一. 简介 Opitonal是java8引入的一个新类,目的是为了解决空指针异常问题.本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为 ...
- C#/VB.NET 在Word文档中插入分页符
分页符是分页的一种符号,上一页结束以及下一页开始的位置.通查用于在指定位置强制分页.本文将分为两部分来介绍如何在Word文档中插入分页符.并附上C#/VB.NET以供参考,详情请阅读以下内容. 在特定 ...
- 《Java Web程序设计——开发环境搭建》
Java Web程序设计--开发环境搭建 一.JDK下载.安装以及环境变量的配置: 官网:https://www.oracle.com/java/technologies/download ...
- 【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解
"谈谈你对Redis的理解"! 面试的时候遇到这类比较宽泛的问题,是不是很抓狂? 是不是不知道从何开始说起? 没关系,今天我用3分钟教你怎么回答. 大家好,我是Mic,一个工作了1 ...
- 基于HBuilderX+UniApp+ThorUI的手机端前端的页面组件化开发经验
现在的很多程序应用,基本上都是需要多端覆盖,因此基于一个Web API的后端接口,来构建多端应用,如微信.H5.APP.WInForm.BS的Web管理端等都是常见的应用.本篇随笔继续分析总结一下项目 ...
- 【学习笔记】Vin-Mono论文阅读笔记(一)
VINS-Mono 概述 VINS-Mono VINS-Mono是由一个单目相机和一个低成本IMU组成的鲁棒通用的单目视觉惯性系统.通过融合预积分的IMU测量值和特征观测值来获得高精度的视觉惯性里程计 ...
- Kubernetes 监控--Prometheus
在早期的版本中 Kubernetes 提供了 heapster.influxDB.grafana 的组合来监控系统,在现在的版本中已经移除掉了 heapster,现在更加流行的监控工具是 Promet ...
- 基于MySQL的-u选项实现如何最大程度防止人为误操作MySQL数据库
在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,MySQL程序就会拒绝执行.那么,我们基于MySQL提供的这项设置,就可以轻松实现如何最大程度防止 ...