正则表达式学习笔记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>的更多相关文章

  1. bash shell学习-正则表达式基础 (笔记)

    A gentleman is open-minded and optimistic; a small person is narrow-minded and pessimistic. "君子 ...

  2. 前端小菜鸡使用Vue+Element笔记(二)

    记录一下在使用Vue和Element做项目时遇到过的难点... 1.在 <el-table>表格中嵌入 select下拉选择框,以及 tooltip提示框的使用 主要定义格式如红色标记代码 ...

  3. 前端小菜鸡使用Vue+Element笔记(一)

    关于使用Vue+Element的项目简介~ 最近因为项目组缺前端人员,所以自己现学现做页面,先把前后台功能调通 觉得前端可真的是不容易呀哎呀~ 首先记录一下相关的Vue入门的教程: vue环境搭建示例 ...

  4. 小菜鸡的学习笔记---<正则表达式(1)>

    正则表达式学习笔记(1) (纯新手学习笔记,大佬绕路 QAQ) 一.简介 正则表达式就是一种文本模式用来匹配一系列满足特定条件的字符串,可以对比一下数学里面的表达式,比如我们要用一个表达式表示一串数字 ...

  5. JavaScript正则表达式学习笔记(二) - 打怪升级

    本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...

  6. javascript正则表达式 - 学习笔记

    JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...

  7. 【转载】正则表达式学习 & ASCII码表

    文章原地址: http://www.jb51.net/tools/zhengze.html <正则表达式30分钟入门教程> 其中有几个地方可以有笔记: \s 匹配任意的空白符 \b 匹配单 ...

  8. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  9. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

随机推荐

  1. 2022年NISP考试时间|NISP一级考试时间|NISP|网安伴|NISP管理中心

    NISP一级~~国家信息安全水平考试一级证书 NISP一级证书是由中国信息安全测评中心颁发的国家级认证证书.面向全社会各行各业通用的信息安全意识普及和信息安全保护知识培训,是在任何单位和工作中都应具备 ...

  2. 【HTML】学习路径3-段落标签和标题标签

    第一章:标题标签 <h1>  </h1> <h2>  </h2> 等等... 数字越大,字体尺寸越小. <!--标题会加粗.独占一行--> ...

  3. 【java】学习路径37-练习:任意文件的复制

    使用字节完成复制 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException ...

  4. 【c语言简单算法】1-阶乘

    求n的阶乘 算法要求 从键盘输入一个数,求出这个数的阶乘 代码实现 #include main() { double result=1; size_t n; scanf("%d", ...

  5. 03_Django-GET请求和POST请求-设计模式及模板层

    03_Django-GET请求和POST请求-设计模式及模板层 视频:https://www.bilibili.com/video/BV1vK4y1o7jH 博客:https://blog.csdn. ...

  6. C语言怎么给函数添加形参的默认值

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16637890.html 如果不是机缘巧合,当年转到C++ ...

  7. 表单动态增加div元素提交方法

    实现的效果如下: 1 var detail_div = 1; 2 var i=0; 3 function add_div() { 4 var e = document.getElementById(& ...

  8. Pytest fixture及conftest详解

    前言 fixture是在测试函数运行前后,由pytest执行的外壳函数.fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集.配置测试前系统的初始状态.为批量测试提供数据源等 ...

  9. Nessus-8.11.1-x64.msi安装包

    希望能给那些和我一样迷茫受挫的小伙伴们一些帮助,这玩意儿下载挺慢的,我把安装包分享出来,如果有博客园账号的,点个赞呗,CSDN那些用着别人的软件还要积分,呸! 08-18更新,截止到现在,已更新到最新 ...

  10. 如何通过Java应用程序创建Word表格

    表格,又称为表,既是一种可视化交流模式,又是一种组织整理数据的手段.人们在通讯交流.科学研究以及数据分析活动当中广泛采用着形形色色的表格.那么如何通过Java应用程序创建Word表格呢?别担心,本文将 ...