提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
正则表达式是我们在编程中经常使用的一种字符串匹配方式,所以详细的了解正则表达式是很有必要的。
一、正则表达式中各种符号都代表什么意思?
"^" : "这个符号代表正则匹配的开始"
"$" : "这个符号代表正则匹配的结束"
"." : "这个符号代表匹配任意单个字符,除了换行符 /n "
"*" : "这个符号代表匹配这个符号的前一个元素 0次 或 多次 "
"+" : "这个符号代表匹配这个符号前一个元素 1次 或 多次 "
"?" : "这个符号代表匹配前一个元素 0次 或 1次 "
"()" : "这个符号代表一个子字符串的开始和结束 "
"[]" : "这个符号代表中括号内的字符为一个字符集,例如:[abc] 代表匹配abc中的任何一个"
"()" : "这个符号代表一个子字符串的开始和结束 "
"[^ ]" : "这个情况表示不匹配这个字符集中的字符"
" \ " : "这个字符是转义字符,可以将在正则中含有特殊意义的字符转化为要匹配的字符"
"\d" : " 这个符号代表匹配一个数字字符,相当于 [0-9] "
"\D" : "这个情况表示匹配一个非数字字符,相当于[^0-9]"
"\w" : " 这个符号代表匹配一个为 数字/字母/下划线 的字符,相当于 [A-Z0-9a-z_] "
"\W" : "这个符号代表匹配一个为 非数字/字母/下划线 的字符,相当于 [^A-Z0-9a-z_]"
"\s" : " 这个符号代表匹配一个空白字符包括 空格,换行符,制表符 "
"\S" : "这个符号代表不匹配空白字符"
"{n}" : " 这个符号代表匹配前一个字符 n次 "
"{n, }" : "这个符号代表匹配前一个字符至少 n次"
"{n,m}" : " 这个符号代表匹配前一个字符至少 n次,最多不超过 m次 "
二、正则表达式中的常用组合
组合如下(示例):
"\d+" :
解释: 匹配一个或多个数字字符。
例子: 123, 4567
"\w+" :
解释: 匹配一个或多个单词字符,包括字母、数字、下划线。
例子: abc_123, word123
"\s+" :
解释: 匹配一个或多个空白字符,包括空格、制表符、换行符等。
例子: , \t\n
"^abc" :
解释: 匹配以 "abc" 开头的字符串。
例子: abc123, abcdef
"xyz$" :
解释: 匹配以 "xyz" 结尾的字符串。
例子: 123xyz, testxyz
"\d{3,5}":
解释: 匹配连续的 3 到 5 个数字。
例子: 123, 4567, 78901
"\bword\b" :
解释: 匹配独立的单词 "word",\b 表示单词边界。
例子: word, wording, password
"(\d+)-(\w+)" :
解释: 匹配形如 "数字-单词" 的模式,并捕获数字和单词。
例子: 123-apple, 456-orange
正则表达式的使用
代码如下(示例):
const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
// 要验证的邮箱地址
const emailToValidate = "test@example.com";
// 使用正则表达式进行验证
if (emailPattern.test(emailToValidate)) {
console.log("邮箱地址合法!");
} else {
console.log("邮箱地址不合法!");
}