一起学RegExp
  • 前言
  • 简介
    • 什么是正则表达式
    • JS常用正则表达式函数
    • 正则可视化工具
  • 语法
    • 构造正则表达式
    • 定位符
    • 普通字符
    • 特殊字符
    • 限定符
    • 分组
    • 运算符优先级
    • 表达式全集
  • 正则分析
  • 常用正则
  • 应用场景
    • path-to-regexp
  • 进阶
    • 正则引擎
    • DFA与NFA
    • 高效正则表达式
Powered by GitBook
On this page
  • RegExp方法
  • String方法

Was this helpful?

  1. 简介

JS常用正则表达式函数

RegExp方法

  • test

名称

描述

函数名

作用

执行一个检索,用来查看正则表达式与指定的字符串是否匹配

语法

regExpObject.test(str)

参数

用来与正则表达式匹配的字符串

返回值

匹配成功:返回true

匹配失败:返回false

示列

/^[\d]+$/.test(123); // true

  • exec

名称

描述

函数名

作用

在一个指定字符串中执行一个搜索匹配

当指定正则标志g时,会在 RegExpObject 的 lastIndex 属性

指定的字符处开始检索字符串,每次匹配结束,重置lastIndex的位置

语法

regExpObject.exec(str)

参数

待匹配正则表达式的字符串

返回值

匹配成功:返回一个数组

  • 数组[0]:匹配的全部字符串

  • 数组[1],...[n]:正则括号中的分组捕获

  • index:匹配到的字符位于原始字符串的基于0的索引值

  • input:原始字符串

匹配失败:返回null

示列

// ['?name=qq', 'qq', ...]

String方法

  • match

名称

描述

函数名

作用

检索返回一个字符串匹配正则表达式的的结果

语法

str.match(regexp)

参数

一个正则表达式

返回值

使用g标志:

  • 返回与完整正则表达式匹配的所有结果(Array)

  • 不会返回捕获组

  • 未匹配 返回null

不使用g标志:

  • 仅返回第一个完整匹配及其相关的捕获组(Array)

  • 未匹配返回null

示列

// ['?name=qq', 'qq', ...]

  • replace

名称

描述

函数名

作用

返回一个

由替换值(replacement)替换一些 或所有匹配的模式(pattern)后的新字符串

语法

str.replace(regexp|substr, newSubStr|function)

参数

regexp

substr

newSubStr

function

  • 一个用来创建新子字符串的函数

返回值

一个部分或全部匹配由替代模式所取代的新的字符串

示列

'一 起 学 RegExp'.replace(/\s/g, ''); // "一起学RegExp"

  • search

名称

描述

函数名

作用

语法

str.search(regexp)

参数

返回值

匹配成功

  • 返回正则表达式在字符串中首次匹配项的索引;

匹配失败

  • 返回 -1

示列

'一 起 学 RegExp'.search(/[\a-zA-Z]+/); // 6

  • split

名称

描述

名称

作用

语法

str.split([separator[, limit]])

参数

separator

  • 指定表示每个拆分应发生的点的字符串,字符串或正则表达式

limit

  • 一个整数,限定返回的分割片段数量

返回值

示列

'一 起 学 RegExp'.split(/[\s]+/); // ["一", "起", "学", "RegExp"]

Previous什么是正则表达式Next正则可视化工具

Last updated 5 years ago

Was this helpful?

/(?:\?|&)name=(*)/.exec('');

');

一个 对象或者其字面量

一个将被 newSubStr 替换的

用于替换掉第一个参数在原字符串中的匹配部分的

执行正则表达式和 对象之间的一个搜索匹配

一个对象

使用指定的分隔符字符串将一个对象分割成字符串数组

返回源字符串以分隔符出现位置分隔而成的一个

test
exec
http://www.qq.com?name=qq
match
http://www.qq.com?name=qq'.match(/(?:\?|&)name=([^&]*)/
replace
RegExp
字符串
字符串
search
String
正则表达式(regular expression)
split
String
Array