跳至主要內容

正则表达式

Mr.Ding正则表达式正则表达式大约 2 分钟约 491 字

正则表达式

正则定义

正则表达式是描述字符模式的对象。
正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

const regExp = new RegExp("\\w+")
const regExp = /\w+/

修饰符

修饰符描述
i不区分大小写的匹配
g全局匹配(查找所有匹配而非找到第一个匹配后停止)
m执行多行匹配

修饰符使用

  const str = `This IS RegExp Object!`
  console.log(str.match(/is/)) // ['is', index: 2, input: 'This\nIS RegExp Object!', groups: undefined]
  console.log(str.match(/is/g)) // ['is']
  console.log(str.match(/is/gi)) // ['is', 'IS']
  console.log(str.match(/is/gim)) // ['is', 'IS']

方括号

表达式描述
[abc]查找方括号内的字符串
[^abc]查找不在方括号内的字符串
[0-9]查找任何0-9的数字
[a-z]查找小写a-z的的字符
[A-Z]查找大写A-Z的的字符
(12|34|56)查找任何指定的选项

方括号应用

const str = `Thi12s IS9 RegExp123 Object456!`
console.log(str.match(/[is]/)) // ['i', index: 2, input: 'Thi12s IS9 RegExp123 Object456!', groups: undefined]
console.log(str.match(/[is]/g)) // ['i', 's']
console.log(str.match(/[is]/gi)) // ['i', 's', 'I', 'S']
console.log(str.match(/[^is]/gi)) // ['T', 'h', '1', '2', ' ', '9', ' ', 'R', 'e', 'g', 'E', 'x', 'p', '1', '2', '3', ' ', 'O', 'b', 'j', 'e', 'c', 't', '4', '5', '6', '!']
console.log(str.match(/[0-9]/g)) // ['1', '2', '9', '1', '2', '3', '4', '5', '6']

RegExp 对象的方法

表达式描述
exec检索字符串中指定的值。返回找到的值,并确定其位置。
test检索字符串中指定的值。返回 true 或 false。
toString返回正则表达式的字符串。

支持正则表达式的 String 对象的方法

表达式描述
search检索与正则表达式相匹配的值。
match找到一个或多个正则表达式的匹配
replace替换与正则表达式匹配的子串。
split把字符串分割为字符串数组。
上次编辑于:
贡献者: dingyongya