正则表达式(regular expression)

正则表达式的作用

  • 提取字符串:从指定的字符串中将符合规则部分提取出来
  • 匹配正则:判断一个字符串是否跟指定的规则匹配
  • 替换字符串:将一个字符串中跟规则匹配的部分替换掉

正则表达式的组成

  • 普通字符
  • 特殊字符(元字符):正则表达式中有特殊意义的字符

元字符

常用元字符串

元字符 说明
\d 匹配数字
\D 匹配任意非数字的字符
\w 匹配字母或数字或下划线
\W 匹配任意不是字母,数字,下划线
\s 匹配任意的空白符
\S 匹配任意不是空白符的字符
. 匹配除换行符以外的任意单个字符
^ 表示匹配行首的文本(以谁开始)
$ 表示匹配行尾的文本(以谁结束)

限定符

限定符 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

修饰符

标志 说明
i 忽略大小写
g 全局匹配,贪婪模式
gi 全局匹配+忽略大小写

匹配字符串

字符串的匹配有两个方法:

:可以匹配为true,否则为false

正则表达式.test(字符串)
/\d/.test('13522336699')   //true

匹配成功 返回下标位置,不成功返回-1

search()

其实可以理解为查找字符串中符合正则表达式的子字符串的位置

提取字符串

语法:

match(正则表达式)

语法:

正则表达式.exec(字符串)

替换字符串

语法:

字符串.replace(正则表达式,新内容)
————————

Role of regular expressions

  • Extract string: extract the part that meets the rules from the specified string
  • Match regular: judge whether a string matches the specified rule
  • Replace string: replace the part of a string that matches the rule

Composition of regular expressions

  • Ordinary character
  • Special characters (metacharacters): characters with special meaning in regular expressions

Metacharacter

Common meta string

元字符 说明
\d 匹配数字
\D 匹配任意非数字的字符
\w 匹配字母或数字或下划线
\W 匹配任意不是字母,数字,下划线
\s 匹配任意的空白符
\S 匹配任意不是空白符的字符
. 匹配除换行符以外的任意单个字符
^ 表示匹配行首的文本(以谁开始)
$ 表示匹配行尾的文本(以谁结束)

qualifier

限定符 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

Modifier

标志 说明
i 忽略大小写
g 全局匹配,贪婪模式
gi 全局匹配+忽略大小写

Match string

There are two ways to match strings:

: it can match true, otherwise it is false

正则表达式.test(字符串)
/\d/.test('13522336699')   //true

If the match is successful, the subscript position will be returned, and if it is unsuccessful, – 1 will be returned

search()

In fact, it can be understood as finding the position of the substring conforming to the regular expression in the string

Extract string

Syntax:

match(正则表达式)

Syntax:

正则表达式.exec(字符串)

Replace string

Syntax:

字符串.replace(正则表达式,新内容)