首页 > 其他分享 >小菜鸡学习---<正则表达式学习笔记2>

小菜鸡学习---<正则表达式学习笔记2>

时间:2022-10-26 19:22:17浏览次数:45  
标签:学习 匹配 ... 正则表达式 修饰符 dog --- 小菜 gray

正则表达式学习笔记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 标记。

标签:学习,匹配,...,正则表达式,修饰符,dog,---,小菜,gray
From: https://www.cnblogs.com/yeipunz/p/regex02.html

相关文章

  • CSP-S/J 2022 游记
    DAY\(-3\)晚上,提前面基lhx1048576,一起坐车去SY。在车上,lhx1048576提出了「lhx1048576面基luhouxi」的著名论断,我们一起发明了「AK打铁」和「铁AK」(fAKe=Fe+AK)。......
  • Markdown的入门学习
    Markdown的基本使用介绍https://blog.csdn.net/afei__/article/details/80717153?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~defau......
  • VNC配置-完整版本--亲测OK
    VNC配置-完整版本--亲测OKvnc连接,是为是远程桌面。要使用VNC,必须在主机上安装桌面,centos7默认是gnome.==实验环境===================================================......
  • leetcode-728-easy
    SelfDividingNumbersAself-dividingnumberisanumberthatisdivisiblebyeverydigititcontains.Forexample,128isaself-dividingnumberbecause128......
  • leetcode-392-easy
    IsSubsequenceGiventwostringssandt,returntrueifsisasubsequenceoft,orfalseotherwise.Asubsequenceofastringisanewstringthatisformed......
  • leetcode-476-easy
    NumberComplementThecomplementofanintegeristheintegeryougetwhenyouflipallthe0'sto1'sandallthe1'sto0'sinitsbinaryrepresentation.Fo......
  • leetcode-1313-easy
    DecompressRun-lengthEncodedListWearegivenalistnumsofintegersrepresentingalistcompressedwithrun-lengthencoding.Considereachadjacentpairo......
  • leetcode-292-easy
    NimGameYouareplayingthefollowingNimGamewithyourfriend:Initially,thereisaheapofstonesonthetable.Youandyourfriendwillalternatetaking......
  • 超高性价比的云服务器-华为云耀云服务器
    超高性价比的云服务器-华为云云耀云服务器自从国家鼓励个人创业,大学生自主创业以来,大批的中小企业开始像雨后春笋般涌现。近年来随着时代的发展,中小企业们又迅速推动自身......
  • leetcode-599-easy
    MinimumIndexSumofTwoListsGiventwoarraysofstringslist1andlist2,findthecommonstringswiththeleastindexsum.Acommonstringisastringthat......