正则表达式是用于匹配字符串中字符组合的模式. 在Javascript中, 正则表达式也是对象. 这些模式被用于
RegExp
的exec
和test
方法, 以及String
类型的match
、replace
、search
和split
方法.
你可以使用以下两种方法构建一个正则表达式:
方法一: 使用正则表达式字面量, 其由包含在斜杠之间的模式组成:
const regex1 = /ab+c/;
const regex2 = /^[a-zA-Z]+[0-9]*\W?_$/gi;
加载脚本后, 正则表达式字面量提供正则表达式的编译. 当正则表达式保持不变时, 使用此方法性能较高.
方法二: 调用RegExp
对象的构造函数:
let regex1 = new RegExp('ab+c');
let regex2 = new RegExp(/^[a-zA-Z]+[0-9]*\W?_$/, 'gi');
let regex3 = new RegExp('/^[a-zA-Z]+[0-9]*\W?_$/', 'gi');
使用构造函数提供正则表达式的运行时的编译. 使用构造函数, 当你知道正则表达式模式将会改变, 或者你不知道模式, 并从另一个来源, 如用户输入等.