关闭

JavaScript——正则表达式

标签: 正则表达式javascript
125人阅读 评论(0) 收藏 举报
分类:

1、正则表达式的用途
利用正则表达式对文本进行检索、替换、提取和修改操作

2、相关概念
(1)元字符
这里写图片描述
(2)限定符
这里写图片描述
(3)字符类
用“[]”标识,表示匹配其中的内容。
例如:[1-9]表示匹配0-9中的一位数字
(4)分支条件
用“|”标识,表示或。
例如:\d{1}|\d{2}表示匹配重复1次或者是重复2次的数字
(5)分组
用“()”标识,表示需要匹配多个的字符。
例如:(\d{1,3}.){3}\d{1,3}表示一个简单的IP地址匹配
(6)字符转义
如果需要查找元字符本身比如说“.”,就需要“\”来取消它的特殊含义

3、创建正则表达式
(1)用字面量来创建正则表达式:
var regexp = /pattern/flag;
pattern是需要匹配的模式,可以是任何正则表达式,可以包括字符类、限定符、分组等。
flag是标志,一个正则表达式可以有一个或者多个标志,用来表明自身的行为。
(2)用RegExp构造函数来创建正则表达式
var regexp = new RegExp(pattern, flag);
pattern和flag的含义同上,但是需要注意的是pattern和flag都是字符串类型的。需要特别注意的是,pattern和flag参数在使用到元字符的时候需要双重转义。
例如:”\.bc\]” 表示正则表达式为 “.bc]”,需要匹配的是”.bc]”;
而”[bc]”表示正则表达式为”[bc]”,需要匹配的是字母“b”或者是“c”。
(3)flag在模式匹配下的取值:
g:表示全局模式,即将作用于整个字符串,而不是在发现第一个匹配项时就停止。
i:表示不区分大小写模式,即匹配时忽略大小写
m:表示多行模式:即在到达一行文本的末尾时,还会查找下一行中是否还存在。

3、RegExp实例属性
这里写图片描述

4、RegExp实例方法exec()
exec(),专门为捕获组而设计的。
(1)参数:需要检验的字符串
(2)返回:数组和input、index属性(input正则表达式作用的字符串,index匹配项在字符串中的位置)或者是null
(3)使用方法:pattern.exec(string)

5、RegExp实例方法test()
(1)参数:需要检验的字符串
(2)返回:true(匹配),false(不匹配)
(3)使用方法:pattern.test(string)

写在后面:
正则表达式是我心中的痛,学习了很久,但是使用的时候还是需要翻出规则来对照着写。这篇博文只记录了正则表达式很简单的一部分,那些更深奥的部分,对笔者来说使用的场景也不多,所以就不记录了~

0
0
查看评论

javascript常用正则表达式和解析

一、正则表达式(regular expression简称res) 1、定义: 一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。   2、作用:...
  • u012572955
  • u012572955
  • 2015-07-20 09:16
  • 2263

什么是正则表达式?在JavaScript中,如何应用正则表达式?

正则表达式(Regular Expression) 本身就是一个字符串,由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式。正则表达式常用于在一段文本中搜索、匹配或替换特定形式的文本。如:词语出现频率统计、验证字符串是否符合邮箱格式、屏蔽一篇帖子中的限制性词语等。许多程序设计语言都支...
  • u012396955
  • u012396955
  • 2016-12-29 17:09
  • 343

JavaScript的中文正则及常用正则表达式

<!-- function checkStr(str){ // [\u4E00-\uFA29]|[\uE7C7-\uE7F3]汉字编码范围 var re1 = new RegExp("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9...
  • QQ635785620
  • QQ635785620
  • 2013-09-06 11:03
  • 5345

javascript正则表达式小数类型

如果想要阅读和理解一下的,可以读一下。如果只需要结果,直接跳到本文最后。 曾经有需求用javascript正则表达式匹配小数类型,后来自己之前写的也是不能完全正确识别。 后来在网上找了许多,甚至包括一些老外的纯英文论坛什么的,发现都是错的,都不够全面。 常见错误: 1.   /^-?\d+...
  • festone000
  • festone000
  • 2014-08-23 11:37
  • 1138

javascript正则表达式总结(test|match|search|replace|split|exec)

学javascript正则的好文一篇:http://www.cainiao8.com/web/js_note/js_regular_expression.html test:测试string是否包含有匹配结果,包含返回true,不包含返回false。  var str = ...
  • wusuopuBUPT
  • wusuopuBUPT
  • 2014-03-13 17:10
  • 8219

JavaScript中的split函数中的正则表达式

JavaScript中的split函数中的正则表达式最近在看《JavaScript高级程序设计》的时候,看到split函数传入正则表达式的时候不是很理解,查了一些资料基本和书上说的一样,看不太懂,打算去segmentfault问一下大神的时候,编辑问题的时候突然想明白了,所以在这里做一个记录。代码如...
  • a_leading
  • a_leading
  • 2017-04-25 08:28
  • 2390

javascript 正则表达式 获取全部分组内容

需要使用正则表达式的exec 需要循环 DEMO,如下代码将输出 8 , 9,两个匹配到的分组内容 var r = /\{ab(\d)ab}/g; var resultS = "ab{ab8ab}c{ab9ab}".match(r); while ((resu...
  • ISaiSai
  • ISaiSai
  • 2016-04-24 20:27
  • 635

Javascript常用正则表达式以及JS常见正则表达式笔试题

JS正则表达式,在表单验证等方面都有应用,下面结合学习经过,整理一些初学 者所需要掌握的一些基本JS正则规则: 1.正则表达式基础语法练习 (1)校验邮政编码(由六位组成) 这里要注意,不能写成/\d{6}/,如果写成这样,那么校验内容为7位时,也 能通过校验! ...
  • liwusen
  • liwusen
  • 2016-02-21 13:56
  • 2895

《JavaScript高级程序设计》笔记——正则表达式

如果说这是一篇关于正则表达式的小结,我更愿意把它当做一个手册。 RegExp 三大方法 本文的RegExp采用直接量语法表示:/pattern/attributes。attributes有三个选择,i、m和g,m(多行匹配)不常用直接省略,所以一个pattern(匹配模式)可以表示如下:...
  • thumd_lee
  • thumd_lee
  • 2016-12-08 20:17
  • 295

JavaScript 正则表达式常用的转义符

JavaScript 正则表达式常用的转义符 [] 代表一位 [cb4@qq.com]:匹配括号中的任意一个字符 [0-9]:匹配0-9之间的一个数 [a-z]:匹配a-z之间的一个字母 [A-Z]:匹配A-Z之间的一个字母 [^a-z0-9]:匹配任意不在括号中的字符 \d:和[...
  • benxiaohai888
  • benxiaohai888
  • 2017-09-12 19:17
  • 163
    个人资料
    • 访问:2423次
    • 积分:221
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:14篇
    • 评论:0条
    文章分类