《正则表达式必知必会》读书笔记

正则表达式 regex

语法容易掌握, 如何解决实际问题难。

正则表达式测试器:http://deerchao.net/  (软件开发者的正则表达式30分钟入门教程

同一个问题有多种解决方案。区分大小写。

.字符可以匹配任何单个字符、字母、数字或其本身。可连续出现,可间隔出现。

\ 元字符,表示这个字符有特殊含义,而不是字符本身的的含义。如果搜\本身,则\\。

第三章 匹配一组字符

[] 字符集合,匹配结果是该集合里的任意一个成员相匹配的文本。字符集合在不需要区分大小写,或只需匹配某个特定部分的搜索中常见。

A-Z,a-z,A-z(不常用)

-连字符只能用在[]之间,除此之外,为一普通字符,不需转义。

练习:查找RGB值。

取非匹配:^  给定字符集合里的所有字符或字符区间,不仅限于紧跟在^字符后面的那一个字符或字符区间。

第四章 使用元字符

两种元字符:1,匹配文本;2.regex语法所要求的。

[\b]

\f  backspace   \n  换行符  \r  回车符

windows文本行的结束标签:\r\n。

匹配数字:\d  [0-9]                  \D  [^0-9]  (记忆:大写取反)

\w  [a-zA-Z0-9_]                \W    [^a-zA-Z0-9_]

空白字符:\s      [\f\n\r\t\v]      \S

前缀            \x 十六进制                     前缀            \0  八进制

第五章 重复匹配

匹配一个或多个字符:在其后面加+字符作为后缀即可。(必须放在集合的外面).至少要有一次。

在字符集合里使用 的时候,.和+这样的元字符将被解释为普通字符,不需转义,但转 了效果一样。

//至少爱我一次

匹配0个或多个字符:在其后面加*字符作为后缀即可。(必须放在集合的外面),可有可无。不太建议使用。

//若爱,请深爱

匹配0个或一个字符:?

 //要么爱,要么不爱

注意:如果同时用[]和?的话,要把?放在[]后面。

重复次数:{}

设定区间:{m,n}   ?等价于{0,1}

至少重复多少次:给出最小的即可{3,}                     {n}正好N次。

*、+为贪婪型元字符。多多益善而非适可而止。

懒惰型元字符,在贪婪型元字符加一个?后缀即可。

第六章 位置匹配

单词结尾或开头   \b。不匹配一个单词边界则\B。

\b匹配且只匹配一个位置,不匹配任何字符。

字符串边界

开头^             结尾$.

^有多种用途,只有当出现在一个字符集里并紧跟在[后面时,才发挥求非作用。

第七章 使用子表达式

子表达式必须用()括起来。

\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}   改为   (\d{1,3}\.){3}\d{1,3}

分析各个子表达式的时候,按照先内后外 的原则。

第八章 回溯引用

回溯引用指的是模式的后半部分引用在前半部分中定义的字表达式。

//不同的正则表达式实现方式不一样。

//只能用来引用模式里的子表达式。通常从1开始。

\l和\u只能把下一个字符或表达式转换为小写或大写,\L和\U则是后面的所有字符转换为小写或大写,直到遇上\E。

第九章 前后查找

js不支持向后查找;使用向前查找的时候,正则表达式分析器将向前查找并处理某字符,但不会将其包括在最终的搜索结果中。

?=  向前查找                  ?<=向后查找

向前查找模式的长度是可变的,可包含.和+之类的元字符,向后查找模式只能是固定长度。

^不能用来对前后查找进行取非处理。前后查找是用!来取非。

第十章 嵌入条件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 什么是正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),...
    小貔阅读 1,422评论 0 7
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,134评论 0 9
  • 正则表达式必知必会 匹配单个字符 匹配纯文本 相当于文本查找的功能(CMD + F)。但是一般的正则表达式引擎默认...
    三十一_iOS阅读 1,077评论 0 1
  • 注:本篇文章只为方便查看,特此保留,如有冒犯,敬请谅解!!! 本文目标 30分钟内让你明白正则表达式是什么,并对它...
    阿杰Alex阅读 1,475评论 0 10
  • “背上行囊,就是过客;放下包袱,就找到了故乡。’’ 如果长大是为了离开家去远方,那我可不可以不长大呢。 毕竟在成长...
    零落成泥h阅读 1,123评论 0 2