返回
揭秘JavaScript正则表达式常用技巧:扫清语法盲点!
前端
2023-12-12 15:09:09
JavaScript正则表达式备忘单:助你轻松驾驭语法
正则表达式(Regular Expression,简称Regex)是一种强大的工具,用于在字符串中匹配模式。JavaScript提供了RegExp对象,允许你在程序中使用正则表达式。
本文将为你提供一个详细的备忘单,涵盖常见的JavaScript正则表达式语法和实例,帮助你轻松理解和使用正则表达式。
1. 基础语法
语法 | **** | 示例 |
---|---|---|
^ |
匹配字符串的开头 | /^Hello/ 匹配以"Hello"开头的字符串 |
$ |
匹配字符串的结尾 | /World$/ 匹配以"World"结尾的字符串 |
. |
匹配任何单个字符 | /.*/ 匹配任何非空字符串 |
* |
匹配前面元素0次或多次 | /ab*/ 匹配包含一个或多个"b"的字符串 |
+ |
匹配前面元素1次或多次 | /ab+/ 匹配包含一个或多个连续"b"的字符串 |
? |
匹配前面元素0次或1次 | /ab?/ 匹配包含0个或1个"b"的字符串 |
[] |
匹配指定字符集中的任何单个字符 | /[abc]/ 匹配"a"、"b"或"c"中的任何一个字符 |
[^] |
匹配不在指定字符集中的任何单个字符 | /[^abc]/ 匹配不在"a"、"b"或"c"中的任何一个字符 |
\d |
匹配任何数字 | /\d/ 匹配任何数字字符 |
\w |
匹配任何字母、数字或下划线 | /\w/ 匹配任何字母、数字或下划线字符 |
\s |
匹配任何空白字符,包括空格、制表符、换行符和回车符 | /\s/ 匹配任何空白字符 |
2. 分组和引用
语法 | **** | 示例 |
---|---|---|
() |
将部分正则表达式分组 | `/(a |
\1 、\2 、… |
引用前面分组匹配的字符串 | /(a)(\1)/ 匹配重复的字母 |
3. 限定符
语法 | 描述 | 示例 |
---|---|---|
{n} |
匹配前面元素n次 | /a{3}/ 匹配3个连续"a" |
{n,} |
匹配前面元素n次或更多次 | /a{3,}/ 匹配3个或更多连续"a" |
{n,m} |
匹配前面元素n到m次 | /a{3,5}/ 匹配3到5个连续"a" |
4. 特殊字符
字符 | 描述 | 示例 |
---|---|---|
\ |
转义字符,用于将特殊字符视为普通字符 | /\./ 匹配一个句号 |
[] |
字符集 | /[abc]/ 匹配"a"、"b"或"c"中的任何一个字符 |
^ |
行首 | /^Hello/ 匹配以"Hello"开头的字符串 |
$ |
行尾 | /World$/ 匹配以"World"结尾的字符串 |
* |
匹配前面元素0次或多次 | /.*/ 匹配任何非空字符串 |
+ |
匹配前面元素1次或多次 | /ab+/ 匹配包含一个或多个连续"b"的字符串 |
? |
匹配前面元素0次或1次 | /ab?/ 匹配包含0个或1个"b"的字符串 |
5. 实例
正则表达式 | 匹配内容 |
---|---|
/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ |
电子邮件地址 |
/^\d{4}-\d{2}-\d{2}$/ |
日期(格式:yyyy-mm-dd) |
/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ |
IPv4地址 |
/^http(s)?:\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}([\/\w .-?]*)*\/?$/ |
URL |
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/ |
强密码(至少8个字符,包含大写字母、小写字母、数字和特殊字符) |
6. 技巧
- 使用
^
和$
锚定字符串的开头和结尾。 - 使用
.
匹配任何字符。 - 使用
*
、+
和?
限定符匹配字符出现的次数。 - 使用
[]
字符集匹配指定字符集中的字符。 - 使用
[^]
字符集匹配不在指定字符集中的字符。 - 使用
\d
匹配任何数字。 - 使用
\w
匹配任何字母、数字或下划线。 - 使用
\s
匹配任何空白字符。 - 使用
()
分组和引用部分正则表达式。 - 使用
{}
限定符匹配字符出现的次数。 - 使用
\
转义字符将特殊字符视为普通字符。
7. 总结
JavaScript正则表达式提供了灵活强大的字符串处理功能。通过掌握正则表达式,你可以轻松地完成各种字符串操作任务,如查找、替换、验证等。