js的正则表达式

栏目: JavaScript · 发布时间: 6年前

内容简介:直接量语法/pattern/attributes创建 RegExp 对象的语法:

直接量语法

/pattern/attributes

创建 RegExp 对象的语法:

new RegExp(pattern, attributes);

参数

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含 属性 "g"、"i" 和 "m",分别用于指定 全局匹配、区分大小写的匹配 和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

返回值

一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。

如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。

let a = '1234567890123';
    let b = /1/g;                    // 这个才是标准
    // 等于 b = new RegExp(/1/, 'g')    // 这个也是标准,下面没报错,但不推荐
    // 等于 b = new RegExp(/1/g)
    // 等于 b = RegExp(/1/g)
    // 等于 b = RegExp(/1/, 'g')
    a.replace(b,'') // "23456789023"

使用字符串方法

字符串方法 : search() 、 replace()

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置,只会但会第一个的位置,0开始;如果没有找到任何匹配的子串,则返回 -1。

a.search(b)//0

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

a.replace(b,'') // "23456789023"

test(yourString):检测一个字符串是否匹配某个模式。该方法将忽略"g"标志和正则对象的lastIndex属性(即总是从开头找起),只要查找到符合模式的字符串即匹配成功。

b.test(a)//true

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Linux Command Line

The Linux Command Line

William E. Shotts Jr. / No Starch Press, Incorporated / 2012-1-17 / USD 39.95

You've experienced the shiny, point-and-click surface of your Linux computer-now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very ......一起来看看 《The Linux Command Line》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具