小菜鸡学习---<正则表达式学习笔记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) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
随机推荐
- 聊一款可以自动跳过手机APP广告的神器!
平时使用手机,很多APP都有开屏广告,有些短的一两秒,长的三五秒,用起来浪费时间不说,有时候想点击跳过,一不小心还可以点进广告,进行跳转,让人很不舒服. 今天我给小伙伴们推荐一个可以跳过APP开屏广告 ...
- Vue3中defineEmits、defineProps 是怎么做到不用引入就能直接用的
最近正在将一个使用单文件组件的 Options API 的 Vue2 JavaScript 项目升级为 Vue3 typescript,并利用 Composition API 的优势. 比如,下面这种 ...
- ubuntu20.4 sgx环境配置
一.driver安装 1.在该下载地址将3个.bin文件下载下来,下载地址:https://download.01.org/intel-sgx/latest/linux-latest/distro/u ...
- 第七十七篇:ref引用(在vue中引用组件实例)
好家伙, 为方便理解, 我们先来写一个经典自增一按钮, 再加上一个count清零按钮, Left.vue组件中: <template> <div > <h1>我是L ...
- 第六十七篇:Vue的计算属性
好家伙, 1.什么是计算属性? 首先它是一种属性,其次他有计算这个特殊的性质, 它是一个依赖于其他属性的属性,当依赖的属性发生变化的时候就会触发我们计算属性的逻辑 它会对这个属性进行计算, 所以说它是 ...
- 【突然想多了解一点】可以用 Task.Run() 将同步方法包装为异步方法吗?
[突然想多了解一点]可以用 Task.Run() 将同步方法包装为异步方法吗? 本文翻译自<Should I expose asynchronous wrappers for synchrono ...
- KingbaseES R6 集群sys_monitor.sh change_password一键修改集群用户密码
案例说明: kingbaseES R6集群用户密码修改,需要修改两处: 1)修改数据库用户密码(alter user): 2)修改.encpwd文件中用户密码: 可以通过sys_monitor.sh ...
- dp-背包模型
一:01背包问题模型 1 题目: 有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数). 要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入格式 第一行是一个整数 ...
- OpenFOAM 编程 | One-Dimensional Transient Heat Conduction
0. 写在前面 本文中将对一维瞬态热传导问题进行数值求解,并基于OpenFOAM类库编写求解器.该问题参考自教科书\(^{[1]}\)示例 8.1. 1. 问题描述 一维瞬态热传导问题控制方程如下 \ ...
- SpringBoot使用libreoffice转换PDF
1.简介 有时候我们需要在程序中使用到office的转换和预览功能,本文就针对这个需求记录了较为简单的office转换和功能:jodconverter.当然也有aspose和其他开源第三方(kkfil ...