前言
提示:这里可以添加本文要记录的大概内容:
在开发中经常使用正则表达式进行数据验证,下面将为大家介绍正则表达式的使用规则
提示:以下是本篇文章正文内容,下面案例可供参考
一、正则表达式是什么?
正则表达式(Regular Expression,通常缩写为regex或regexp)是一种强大的文本处理工具,它使用一种特定的模式来描述、匹配和操作一系列的字符。这个模式被定义为一个字符串,用于在目标字符串中进行搜索匹配,或者对匹配到的子串进行替换或分割等操作。
正则表达式主要由普通字符(如字母a到z)和特殊字符(称为"元字符")组成。元字符在正则表达式中具有特殊含义,它们不表示字符本身的字面意义,而是用于控制或转义字符。例如,. 表示任意单个字符,* 表示前面的字符或子表达式可以出现零次或多次,^ 和 $ 分别表示行的开头和结尾等。
下面是一些正则表达式的例子及其解释:
^Hello:匹配以 “Hello” 开头的字符串。
world$:匹配以 “world” 结尾的字符串。
\d:匹配任意数字,等价于 [0-9]。
\w:匹配任意字母、数字或下划线,等价于 [a-zA-Z0-9_]。
\s:匹配任意空白字符,包括空格、制表符、换页符等。
abc.*xyz:匹配以 “abc” 开头,以 “xyz” 结尾,中间可以有任意字符(包括零个字符)的字符串。
(\d{3})-\d{2}-\d{4}:匹配形如 “123-45-6789” 的美国社会安全号码。
正则表达式在编程中广泛应用于文本搜索、替换、分割和验证等操作。大多数编程语言都提供了正则表达式的支持,如 Python、Java、JavaScript、C# 等。使用正则表达式可以极大地简化字符串处理相关的代码,提高代码的可读性和可维护性。
二、使用步骤
1.在JavaScript中使用正则表达式
定义 正则表达式的格式需要使用//
,代码如下(示例):
let reg = /[a-z]/; //一个a-z的字母
console.log(reg.test("a")) //true
console.log(reg.test("A")) //false
console.log(reg.test("1")) //false
reg = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
console.log(reg.test("A12345678@")) //true
2.正则表达式规则
常用表达式:
\d 代表数字 0-9
\D 代表非数字
\s 代表的是空格 space
\S 代表非空白
\w 字符数据 代表字母 数字 _ 特殊符号 (不包括汉字 )
\W 非字符数据
汉字 /[\u4e00-\u9fa5]/
. 代表任意字符
量词:
- 代表的是最少出现一次
? 代表最多出现一次
- 代表出现任意次
{m} 代表出现m次
{m,n} 代表出现m~n次
{m,} 至少出现m次
边界符:
^ 代表以什么开头
$ 代表以什么结束
方括号:
表示枚举 [356789]
表示范围
\d [0-9]\
否 [^ a-c] 表示 不是 a b c 三者中的任何一个
交集 [a-z && [bcde] ] (了解)
并集[a-c[2-5]] abc2345 (了解)
前瞻后顾:
前瞻: ?=
A(?=B)
(?=.{1}B)A
负前瞻: ?!
方式一: A(?!B)
方式二: (?!.{1}B)A
后顾: ?<=
(?<=B)A
负后顾: ?<!
(?<!B)A A的后面不能是B
3 常见正则表达式规则
邮箱正则表达式:
^\w+(-+.\w+)*@\w+(-.\w+)*.\w+(-.\w+)*$
手机号正则表达式:
^(130-9|145|7|150|1|2|3|4|5|6|7|8|9|180|1|2|3|5|6|7|8|9)\d{8}$
或
^[1][356789]\d{9}
强密码正则表达式:
^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
中国邮政编码:
1-9\d{5}(?!\d)
其他正则表达式还有很多,为大家推荐几个网址去查询学习
网址1
网址2
总结
正则表达式有许多,大家只需记住基本用法即可,实在记不住可以上网查询搞明白了就可以。