JavaScript 正则表达式
正则表达式是构成 搜索模式。
搜索模式可用于文本搜索和文本替换 操作。
什么是正则表达式?
正则表达式是构成搜索的字符序列 模式。
在文本中搜索数据时,可以使用此搜索模式来描述要搜索的内容。
正则表达式可以是单个字符,也可以是更复杂的模式。
正则表达式可用于执行所有类型的文本搜索和文本替换操作。
语法
1 | /pattern/modifiers; |
1 | /yadu/i; |
示例说明:
/w3schools/i 是正则表达式。
W3Schools 是一种模式(用于搜索)。
i 是一个修饰符(将搜索修改为不区分大小写)。
使用字符串方法
在 JavaScript 中,正则表达式通常与两个字符串一起使用 方法:search()
和 replace()
.
search()
方法使用表达式搜索 match,并返回匹配项的位置。
replace()
方法返回一个修改后的字符串,其中 模式被替换。
将String search() 与字符串一起使用
search()
方法在字符串中搜索指定值并返回匹配项的位置:
1 | let text = "Visit Yadu!"; |
1 | 6 |
将String search() 与正则表达式一起使用
1 | let text = "Visit Yadu"; |
1 | 6 |
将 String replace() 与字符串一起使用
replace()
方法将指定值替换为字符串中的另一个值:
1 | let text = "Visit Microsoft!"; |
将String replace() 与正则表达式一起使用
1 | let text = "Visit Microsoft!"; |
1 | Visit Yadu! |
你注意到了吗?
正则表达式参数(而不是字符串参数)可以在上述方法中使用。
正则表达式可以使您的搜索功能更加强大(例如,不区分大小写)。
正则表达式修饰符
修饰符可用于执行不区分大小写的全局搜索:
修饰符 | 概述 | 尝试一下 |
---|
| i | 执行不区分大小写的匹配 |
|| g | 执行全局匹配(查找所有匹配项而不是在第一个匹配项后停止) |
|| m | 执行多行匹配 |
|正则表达式模式
括号用于查找字符范围:
表达 | 概述 | 尝试一下 |
---|
| [abc] | 查找括号内的任意字符 |
|| [0-9] | 查找括号内的任意数字 |
|| (x|y) | 查找任何用 | 分隔的替代方案 |
|元字符是具有特殊含义的字符:
元字符 | 概述 | 尝试一下 |
---|
| \d | 查找一个数字 |
|| \s | 查找空白字符 |
|| \b | 在单词开头查找匹配项,如下所示:WORD,或在单词末尾查找匹配项,如下所示:WORD |
|| \uxxxx | 查找十六进制数字 xxxx 指定的 Unicode 字符 |
|量词定义数量:
量词 | 概述 | 尝试一下 |
---|
| n+ | 匹配任何至少包含一个 n 的字符串 |
|| n* | 匹配任何包含零次或多次出现 n 的字符串 |
|| n? | 匹配任何包含零次或一次出现 n 的字符串 |
|使用 RegExp 对象
在 JavaScript 中,RegExp 对象是一个正则表达式对象,具有 预定义的属性和方法。
使用 test()
test()
方法是 RegExp 表达式方法。
它在字符串中搜索模式,并返回 true 或 false,具体取决于结果。
以下示例在字符串中搜索字符“e”:
1 | const pattern = /e/; |
1 | true |
您不必先将正则表达式放在变量中。二 上面的行可以缩短为一行:
1 | /e/.test("The best things in life are free!"); |
使用 exec()
exec()
方法是 RegExp 表达式方法。
它在字符串中搜索指定的模式,并将找到的文本返回为 一个对象。
如果未找到匹配项,则返回一个空 (null) 对象。
以下示例在字符串中搜索字符“e”:
1 | /e/.exec("The best things in life are free!"); |
0评论