小菜鸡学习---<正则表达式学习笔记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) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
随机推荐
- redis-string类型命令
一.APPEND key value 如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾. 如果 key 不存在,那么它将首先创建一个空字符串的ke ...
- 我用开天平台做了一个字符串检查API,hin 简单~~
摘要:本文使用了工作台的API全生命周期管理和函数管理功能,编写字符串检查的函数,实现了API的快速创建和发布. 本文分享自华为云社区<[我用开天平台做了一个字符串检查API>,作者:人类 ...
- 蕞短鹭(artskjid) (⭐通信题/模拟⭐)
文章目录 题面(过于冗长,主要是对通信题的一些解释) 题解 1.通信题什么意思 2.此题题解 CODE 实现 题面(过于冗长,主要是对通信题的一些解释) 题解 1.通信题什么意思 并不是两个程序同时跑 ...
- 【c语言学习】1 基础环境安装调试
1-1下载 vs2019 vs2019下载链接https://visualstudio.microsoft.com/zh-hans/vs/community/ 1-2安装配置环境 记得勾选上c++开发 ...
- Linux之如何配置IPV6网络
配置IPV6地址小笔记 #例题: 1)为server添加一个IPv6地址fd00:ba5e:ba11:10::10/64: 2)为client添加一个IPv6地址fd00:ba5e:ba11:10:: ...
- CMU 15-445 Project 0 实现字典树
原文链接:https://juejin.cn/post/7139572163371073543 项目准备 代码.手册 本文对应 2022 年的课程,Project 0 已经更新为实现字典树了.C++1 ...
- win10设置vmware 虚拟机开机自启
Windows10设置VMware虚拟机开机自启的具体步骤如下: 一.配置vmrun环境变量 1)找到VMware的安装目录,并将目录路径拷贝进入环境变量进行添加,如下图 2)检查添加的环境变量是否生 ...
- day01-项目开发流程
多用户即时通讯系统01 1.项目开发流程 2.需求分析 用户登录 拉取在线用户列表 无异常退出(包括客户端和服务端) 私聊 群聊 发文件 服务器推送新闻/广播 3.设计阶段 3.1界面设计 用户登录: ...
- 重新安装kuboard后,原先配置的CI/CD命令都没了,需要重新创建
背景介绍 使用如下命令创建的kuboard服务,上一层用nginx设置代理,用域名访问使用的 docker run -d \ --restart=always \ --name=kuboard \ - ...
- Elastic:为Elasticsearch启动https访问