常见的正则表达式


前言

提示:这里可以添加本文要记录的大概内容:

在开发中经常使用正则表达式进行数据验证,下面将为大家介绍正则表达式的使用规则


提示:以下是本篇文章正文内容,下面案例可供参考

一、正则表达式是什么?

正则表达式(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


总结

正则表达式有许多,大家只需记住基本用法即可,实在记不住可以上网查询搞明白了就可以。

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值