资讯专栏INFORMATION COLUMN

JavaScript - 正则表达式

cocopeak / 855人阅读

摘要:元字符正则表达式有两种基本字符类型组成。原义文本字符元字符元字符是在正则表达式中你有特殊含义的非字母字符。字符类可以使用元字符来构建一个简单的类。表达式把字符归为一类,表达式可以匹配这类字符。表达式表示不是或或的内容。

前两天饿了么面试的时候问到了正则,这里有时间简单总结一下。(那天才知道很多大大都是硬着头皮看着API怼正则的 - -)

RegExp对象

JavaScript通过内置对象RegExp支持正则表达式

RegExp对象实例化

字面量

var pattern = /is/g;

构造函数

var pattern = new RegExp("is", "g");
修饰符

g: global,全文搜索,如果不添加,搜索到第一个匹配就停止。

i: ignore case,忽略大小写,默认大小写敏感。

m: mutiple lines,多行搜索。

元字符

正则表达式有两种基本字符类型组成。

原义文本字符

元字符

元字符是在正则表达式中你有特殊含义的非字母字符。

* + ? $ ^ . | ( ) { } [ ]

字符类

可以使用元字符[]来构建一个简单的类。

所谓类是指符合某些特征的对象,泛指,而不是特指某个字符。

表达式[abc]把字符a、b、c归为一类,表达式可以匹配这类字符。(相当于或)

字符类取反

使用^创建反向类/负向类。

反向类的内容是不属于某类的内容。

表达式[^abc]表示不是a或b或c的内容。

范围类

可以使用[a-z]表示从a-z的任意字符。(闭区间)

[]内组成的类内部是可以连写的[a-zA-Z]。

预定义类
字符 含义
. 除了回车符和换行符之外的所有字符
d 数字字符
D 非数字字符
s 空白符
S 非空白符
w 单词字符(字母、数字下划线)
W 非单词字符
边界
字符 含义
^ 以xxx开始
$ 以xxx结束
b 单词边界
B 非单词边界
量词
字符 含义
? 出现0次或一次
+ 出现1次或多次
* 出现0次或多次
{n} 出现n次
{n,m} 出现n-m次
{n,} 至少出现n次
JS正则贪婪模式与非贪婪模式 非贪婪模式

让正则表达式尽可能少的匹配,也就是说一旦成功匹配不再继续尝试就是非贪婪模式。

做法是在量词后面加上?

"123456789".match(/d{3,5}?/g);

分组

使用()可以达到分组的功能使量词作用于分组

使用|可以达到或的效果。

对象属性

golbal:会否全文搜索

ignore case:是否大小写敏感

multiline:多行搜索

lastIndex:是当前表达式匹配内容的最后一个字符的下一个位置

source:正则表达式的文本字符串

RegExp.prototype.test(str)

用于测试字符串参数中是否存在匹配正则表达式模式的字符串

如果存在返回true,否则返回false

RegExp.prototype.exec(str)

exec() 方法在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83038.html

相关文章

  • 正则达式

    摘要:本文内容共正则表达式火拼系列正则表达式回溯法原理学习正则表达式,是需要懂点儿匹配原理的。正则表达式迷你书问世了让帮你生成和解析参数字符串最全正则表达式总结验证号手机号中文邮编身份证地址等是正则表达式的缩写,作用是对字符串执行模式匹配。 JS 的正则表达式 正则表达式 一种几乎可以在所有的程序设计语言里和所有的计算机平台上使用的文字处理工具。它可以用来查找特定的信息(搜索),也可以用来查...

    bang590 评论0 收藏0
  • JavaScript正则达式的匹配模式

    摘要:选择分组和引用正则表达式的语法还包括指定选择项子表达式分组和引用前一子表达式的特殊字符。带圆括号的表达式的另一个用途是允许在同一正则表达式的后部引用前面的子表达式。 正则表达式(regular expression)是一个描述字符模式的对象。JavaScript的 RegExp类 表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进 行强大的模式匹配和文本检索与...

    wqj97 评论0 收藏0
  • JS正则达式入门,看这篇就够了

    摘要:如果遇到非常的复杂的匹配,正则表达式的优势就更加明显了。关于正则表达式书写规则,可查看,上面说的很清楚了,我就不贴出来了。替换与正则表达式匹配的子串,并返回替换后的字符串。结语正则表达式并不难,懂了其中的套路之后,一切都变得简单了。 前言 在正文开始前,先说说正则表达式是什么,为什么要用正则表达式?正则表达式在我个人看来就是一个浏览器可以识别的规则,有了这个规则,浏览器就可以帮我们判断...

    wenzi 评论0 收藏0
  • JavaScript 中的正则达式

    摘要:正则表达式的意义中的正则表达式使用表示,可以使用构造函数来创建对象,不过对象更多的是通过一种特殊的直接量语法来创建。用构造函数也可以定义一个与之等价的正则表达式,代码如下正则表达式的模式规则是由一个字符序列组成的。 正则表达式的模式匹配 正则表达式(regular expression)是一个描述字符模式的对象。javascript的RegExp对象表示正则表达式,String和Reg...

    _Dreams 评论0 收藏0
  • JavaScript中的正则达式

    Javascript的正则表达式是前端中比较重要的部分,正则表达式主要用于字符串处理,表单验证等场合,实用高效,文章主要对JavaScript中的正则的学习与总结 正则表达式的定义 正则表达式:是一个描述字符模式的对象,JavaScrip中正则表达式用RegExp对象表示,可以使用RegExp构造函数来创建正则对象 正则表达式的创建 1.字面量创建 var reg = /[a-z]/; 2.构...

    _Zhao 评论0 收藏0
  • 简单说 正则达式——要注意lastIndex属性

    摘要:返回是一个只读的布尔值,看这个正则表达式是否带有修饰符。方法,它的参数是一个字符串,用对某个字符串进行检测,如果包含正则表达式的一个匹配结果,则返回,否则返回。总结这次主要是说说,中正则表达式对象的个属性,而最需要注意的就是属性了。 说明 这篇文章,主要和大家聊聊JavaScript中RegExp对象的属性。 解释 每个RegExp对象都包含5个属性,source、global、ign...

    jokester 评论0 收藏0

发表评论

0条评论

cocopeak

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<