web API-day07-正则表达式

一, 正则表达式

1. 什么是正则表达式

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。

通常用来查找、替换那些符合正则表达式的文本,许多语言都支持正则表达式。

在 JavaScript中,正则表达式也是对象

正则表达式在 JavaScript中的使用场景:

Ø例如验证表单:手机号的格式(匹配)
比如用户名:

 /<sup>[[1]](#fn1)</sup>{3,16}$/

Ø过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。

1.正则表达式是什么?

Ø 是用于匹配字符串中字符组合的模式

2.正则表达式有什么作用?

Ø表单验证(匹配)

Ø过滤敏感词(替换)

Ø字符串中提取我们想要的部分(提取)

2. 语法

  1. 定义正则表达式语法:

Ø其中 / / 是正则表达式字面量

  1. 判断是否有符合规则的字符串:

test() 方法用来查看正则表达式与指定的字符串是否匹配

语法:

比如:

如果正则表达式与指定的字符串匹配 ,返回true,否则false

  1. 检索(查找)符合规则的字符串:

exec() 方法 在一个指定字符串中执行一个搜索匹配

语法:

比如:

如果匹配成功,exec() 方法返回一个数组,否则返回null

  1. 正则表达式检测查找 test方法和exec方法有什么区别?

Ø test方法 用于判断是否有符合规则的字符串,返回的是布尔值 找到返回true,否则false

Ø exec方法用于检索(查找)符合规则的字符串,找到返回数组,否则为null

3. 元字符

  1. 组成

l 普通字符:

大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。

l 元字符(特殊字符)

是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。

Ø 比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm…..

Ø 但是换成元字符写法: [a-z]

参考文档:

Ø MDN:https://developer.mozilla.org/zhCN/docs/Web/JavaScript/Guide/Regular_Expressions

Ø正则测试工具:

http://tool.oschina.net/regex

  1. 元字符

为了方便记忆和学习,我们对众多的元字符进行了分类:

  • 预定义类

  • 字符类 (比如 \d 表示 0~9)

  • 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

  • 量词 (表示重复次数)

  1. 预定义类

元字符-预定类

. 匹配除换行符之外的任何单个字符

正则的优先级

或 | 优先级最低

)优先级最高

  1. 字符类 (比如 \d 表示 0~9)

[ ] 匹配字符集合

后面的字符串只要包含 abc 中任意一个字符,都返回 true 。

元字符-字符类

[ ] 里面加上 - 连字符

  • 使用连字符 - 表示一个范围

比如:

Ø [a-z] 表示 a 到 z 26个英文字母都可以

Ø [a-zA-Z] 表示大小写都可以

Ø [0-9] 表示 0~9 的数字都可以

[ ] 里面加上 ^ 取反符号

比如:

Ø [^a-z] 匹配除了小写字母以外的字符

Ø 注意要写到中括号里面

1\. 字符类 . (点) 点代表什么意思? 
Ø 匹配除换行符之外的任何单个字符 

2\. 字符类 [] 有若干代表什么意思? 
Ø [abc] 匹配abc其中的任何单个字符 
Ø [a-z] 匹配26个小写英文字母其中的任何单个字符 
Ø [^a-z] 匹配除了26个小写英文字母之外的其他任何单个字符

3. 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

边界符

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

如果 ^ 和 $ 在一起,表示必须是精确匹配。

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

4. 量词 (表示重复次数)

量词

量词用来 设定某个模式出现的次数

注意: 逗号左右两侧千万不要出现空格

    释义:
    *  表示重复 0 次或多次

    + 表示重复至少 1 次

    ? 表示重复 0 次或1次

    {m, n} 表示复 m 到 n 次
  1. 字符替换和修饰符

替换符

替换 replace 替换

语法:

修饰符

修饰符约束正则执行的某些细节行为,如是否区分大小写、是否全局匹配搜索等

语法:

Ø i 是单词 ignore 的缩写,正则匹配时字母不区分大小写

Ø g 是单词 global 的缩写,匹配所有满足正则表达式的结果

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

推荐阅读更多精彩内容