正则表达式学习

一、介绍

正则表达式​​是一种用来 ​​匹配字符串模式​​ 的工具。你可以把它想象成一个“字符串的搜索模板”,我们常用的场景有:

  • 检查用户输入的邮箱格式是否正确
  • 从一段文本中提取所有的电话号码
  • 替换文本中所有重复的空格

二、正则表达式的基本语法

1、普通字符​

直接匹配文本中的字符,例如:

  • a 匹配字母 “a”
  • 123 匹配字符串中的 “123”

2、元字符(特殊符号)​

这些符号有特殊含义,例如:
以下是符合Markdown格式的表格:

符号作用示例
.匹配任意一个字符(除了换行符)a.c 可以匹配 “abc”、“a1c”
\d匹配一个数字(0-9)\d\d 匹配 “12”、“34”
\w匹配字母、数字、下划线\w\w 匹配 “A1”、“b_”
\s匹配空格、制表符、换行符a\sb 匹配 “a b”
^匹配字符串的开始^Hello 匹配以 “Hello” 开头的字符串
$匹配字符串的结束end$ 匹配以 “end” 结尾的字符串

3、量词(控制匹配次数)​

符号作用示例
*匹配 0次或多次a* 匹配 “”、“a”、“aa”
+匹配 1次或多次a+ 匹配 “a”、“aa”
?匹配 0次或1次a? 匹配 “”、“a”
{n}匹配 恰好n次a{3} 匹配 “aaa”
{n,m}匹配 n到m次a{2,4} 匹配 “aa”、“aaa”、“aaaa”

4、字符集合(匹配多个字符之一)​

符号作用示例
[abc]匹配 abc中的任意一个[aeiou] 匹配元音字母
[^abc]匹配 abc的字符[^0-9] 匹配非数字字符
[a-z]匹配小写字母az[A-Za-z] 匹配所有字母

三、如何理解正则表达式?​

示例1:匹配手机号​​

假设你想匹配中国大陆的手机号(以1开头,共11位):

^1\d{10}$
  1. ^1:以数字1开头
  2. \d{10}:接着匹配10位数字(共11位)
  3. $:结束

示例2:匹配邮箱​

^[\w.-]+@[\w.-]+\.\w+$
  1. ^[\w.-]+:开头是字母、数字、下划线、.或-,且至少1个字符
  2. @:中间必须有@符号
  3. [\w.-]+:@后的域名前缀(如gmail、yahoo)
  4. .\w+$:以.和字母结尾(如.com、.cn)

四、如何看懂复杂的正则表达式?​

当看到复杂的正则表达式时,可以 ​​分块理解​​:

^(\+86)?1[3-9]\d{9}$

1、^:字符串开始 (+86)
2、?:可选的"+86"(国际区号)
3、1:手机号开头是1
4、[3-9]:第二位是3-9之间的数字
5、 \d{9}:后面9位数字
6、$:字符串结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

igxia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值