正则表达式(Regular Expression)详解

10 篇文章 0 订阅

一、简介

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母、数字)和特殊字符(\、?、[等),可以用来描述和匹配字符串的特定模式。正则表达式提供了一种灵活且强大的方式来查找、替换、验证和提取文本数据。

二、正则表达式的字符详解

1、字面符号(普通字符)

  • 字母和数字:表示它们本身,例如所有的字母(包含大小写)和数字;
  • 空格:表示空格字符;
  • 标点符号:表示标点符号本身,例如 !,

2、特殊字符

(1) 量词

  • . : 匹配任意单个字符,除了换行符。
  • *:匹配前一个表达式零次或多次。
  • +:匹配前一个表达式一次或多次。
  • ?:匹配前一个表达式零次或一次。
  • {n}:匹配前一个表达式恰好 n 次。
  • {n,}:匹配前一个表达式至少 n 次。
  • {n,m}:匹配前一个表达式至少 n 次,最多 m 次。

(2) 边界符号

  • ^: 匹配以什么字符串开头。
  • $: 匹配以什么字符串结尾。
  • \b:
  • \B

(3) 转义字符 \

有时候在我们查找 . 或者 * 等特殊字符的时候,会有一些问题出现,因为这些字符已经变成特殊字符具有特殊含义,所以我们没有办法指定这些特殊字符。当出现这种情况,我们就得使用\来取消这些字符的特殊意义,这就叫转义。所以,我们应该使用 \. 和\*。当然,要查找\本身,你也得用\\

(4) 字符类

表达式含义
\d匹配数字
\w匹配字符
\s匹配空格
\D匹配非数字
\W匹配非字符
\S匹配非空格

(5) 其他特殊字符

表达式含义
[]字符类,匹配方括号内的任意一个字符。
|逻辑或操作符,匹配两个表达式中的任意一个。
()分组,用于将多个表达式组合为一个整体。

三、实践

1、手机号码

手机号码通常以(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])其中的一个开头,总共11位,即如下:

^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$

2、16进制

0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
允不允许以0头

  • 不允许

^[123456789ABCDEFabcdef][0123456789ABCDEFabcdef]*
或者
^[1-9A-Fa-f][0-9A-Fa-f]*

  • 允许

[0123456789ABCDEFabcdef]+

3、2进制

允不允许以0头

  • 不允许

^1[01]*

  • 允许

[01]+

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值