当前位置: 代码迷 >> 综合 >> JS的正则表达式 regExp
  详细解决方案

JS的正则表达式 regExp

热度:61   发布时间:2023-11-22 17:50:15.0

一、什么是正则表达式

正则表达式是构成搜索模式的字符序列。该搜索模式可用于文本搜索和文本替换操作。
正则表达式是构成搜索模式(search pattern)的字符序列。
当搜索文本中的数据时,可使用搜索模式来描述您搜索的内容。
正则表达式可以是单字符,或者更复杂的模式。
正则表达式可用于执行所有类型的文本搜索和文本替换操作。
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

二、语法和实例

有两种等价的语法:
1、直接量语法

/pattern/modifiers; / 模式 / 修饰符 ;
(修饰符也可叫属性,即 /pattern/attributes ; )
通常以 /^ 开头,以 $/ 结尾

语法
/pattern/modifiers;
实例
var patt = /w3school/i;
例子解释:
/w3school/i 是一个正则表达式。
w3school 是模式(pattern)(在搜索中使用)。
i 是修饰符(把搜索修改为大小写不敏感)。

在这里插入图片描述
2、创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

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

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

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

抛出
SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 “g”、“i” 和 “m” 之外的字符,抛出该异常。
TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。
在这里插入图片描述

参考语法:https://www.w3school.com.cn/js/js_regexp.asp
完整参考手册:https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp