RegExp

1、语法 var expression= /pattern/flags

其中的模式部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找、以及反向引用。每个正则表达式可以带有一个或多个标志。

g--表示全局模式,即模式将被用于所有字符串,而非在发现第一个匹配项时立即停止

i--表示不区分大小写模式,即在确定匹配项时忽略模式与字符串的大小写

m--表示多行模式,即在到达一行文本末尾时还会继续查找下一行是否存在与模式匹配的项

2、模式中的所有元字符必须转义:元字符包括 ( [ { \ ^$ | ) ? * + .
这些元字符在正则表达式中都有一种或多种特殊用途,因此想要匹配字符串中包含的这些字符,就必须对它们进行转义

3、元字符

正则表达式语言由两种疾病字符类型组成:原义文本字符和元字符。元字符使正则表达式具有处理能力。

所谓元字符是指那些在正则表达式有特殊意义的专用字符,可以用来规定前导字符(位于元字符前面的字符)在目标对象中出现模式较为常用元字符: + * ? 其中+元字符规定其前导字符必须在目标对象中连续出现一次或多次;*元字符规定其前导字符必须在目标中出现零次或连续多次 ;?元字符规定其前导字符必须在目标对象中连续出现零次或一次。

4、RegExp实例方法

(1)RegExp对象主要方法是exec(),该方法是专门为捕获组而设计的。exec()介绍一个参数,即要应用模式的字符串,然后返回包含第一个匹配信息的数组;或者在没有匹配项的情况下返回null。返回的数组虽然是Array的实例,但包含两个额外的属性:index和input。

其中,index表示匹配项在字符串中的位置,而input表示应用正则表达式的字符串。在数组中,第一项是与整个模式匹配的字符串,其它项时与模式中的捕获组匹配的字符串。

var text="mom and dad and baby"
var pattern =/mom( and dad (and baby)? )?/gi;
var maches=pattern.exec(text);
alert(matches.index); // 0
alert(matches.input); //"mom and dad and baby"
alert(match[0]); // "mom and dad and baby"
alert(match[1]); // "and dad and baby"
alert(match[2]); //"and baby"

例子中存在两个捕获组。最内部的捕获组匹配"and baby",而包含它的捕获组匹配"and dad"或者"and dad and baby"。当把字符串传入exec()方法之后,发现一个匹配项。因为整个字符串本身与模式匹配,所以返回的数组matchs的index属性值为0,数组中的第一项是匹配整个字符串,第二下包含与第一个不会组匹配的内容,第三项包含与第二个捕获组匹配的内容。
(2)第二个方法是test(),它接受一个字符串参数。在模式与改该参数匹配的情况下,返回true,否则返回false。经常被用在if中不需要知道文本内容,就可得出目标字符串与某个模式是否匹配。

5、模式的局限性

不支持以下匹配模式

(1)匹配字符串开始和结尾的\A和\Z锚

(2)向后查找(lookbehid)

(3)并集合交叉集

(4)原子组

(5)Unicode支持

(6)命名的捕获组

(7)s和x匹配模式

(8)条件匹配

(9)正则表达式注释

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

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,233评论 0 4
  • 正则表达式的使用,可以通过简单的办法来实现强大的功能。下面先给出一个简单的示例: ^ 为匹配输入字符串的开始位置。...
    wfmm1990阅读 6,528评论 0 1
  • 一、概述 正则表达式(regular expression)是一种表达字符串结构的方法,有点像字符串的模版,常常用...
    周花花啊阅读 572评论 0 1
  • '^'必须才开头开始匹配'$'必须在末尾结束匹配'|' 表示‘或’/ab|cd/匹配ab或者cd'.'表示点字符(...
    zjh111阅读 415评论 0 0
  • 这本书说了啥? 这本书主要说了拖延症的原因以及对策。其中对原因的剖析比较深刻一些。 害怕成功怎么理解? 当我第一次...
    鸭梨山大哎阅读 281评论 0 5