🏆🏆时间过的真快,这是导师回顾新星计划学习的第七篇文章!
在学习过程中,学员们也咨询了很多问题,我把一些问题整理以文章形式总结分享下。
最近这段时间非常忙,虽然导师首次参与新星计划活动已经在4月16日圆满结束,早想腾出时间来好好整理活动期间分享的知识点。
🏆🏆非常感谢大家的支持和活动期间的文章输出,导师也是忙里抽空给大家准备分享的内容,也是尽力了,所以分享的知识点主要是偏向于基础和基本的实战,虽然不是讲解的很系统,但是能够了解到一定的实战信息
🏆🏆期待我们的下次学习,导师将会在6月或者7月再次发起新星计划,本次活动也得到学员和平台的肯定,平台也是非常欢迎导师再次发起新星计划,非常感谢!
目录
1、正则概念
正则表达式是一组字符和符号组成的表达式,用于描述和匹配文本中的模式。
正则表达式的含义可以分为以下几个方面:
匹配:正则表达式用于匹配输入文本中的特定模式,例如匹配电话号码、电子邮件地址等。
搜索和替换:正则表达式可以在文本中搜索指定的模式并进行替换操作。例如,在一段文字中搜索并替换所有的URL。
校验:正则表达式可以用于对输入数据进行校验,例如校验密码、用户名、邮政编码等。
分组:正则表达式支持对匹配的文本进行分组,以便在后续的处理中对这些分组进行操作,例如提取邮件地址中的用户名和域名。
总之,正则表达式是一种强大的工具,可以在编程、文本编辑等领域中广泛应用。熟练掌握正则表达式的语法和应用技巧,可以大大提高工作效率和代码质量。
2、邮箱正则匹配
2.1、邮箱正则表达式
- 以下为邮箱的正则表达式
/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/
'test'.match(/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/)
- 匹配效果
2.2、邮箱正则符号解释
编号 | 符号 | 解释 |
---|---|---|
1 | ^ | 表示以什么开头 |
2 | \w | 表示一个字符(包括大小写字母和数字) |
3 | \w+ | 后面接一个加号+,表示一个或者多个字符 |
4 | ^\w+ | 连起来就是,以一个或多个字符开头 |
5 | @ | 就是单纯表示需要匹配一个@符号 |
6 | ^\w+@ | 连起来的意思就是,以一个或多个字符开头,并且字符后面的字符必须是字 比如:假如开头只有一个字符a,那么第二个字符肯定就是@字符 假如开头只有abc三个字符,那么abc后面接着的字符肯定是@字符,否则匹配无效 |
7 | () | 括号,提取匹配字符串,也表示括号内的一组表达式 |
8 | [] | 中括号,匹配字符串范围,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格 |
9 | {} | 花括号,匹配长度,[0-9]{0,9} 表示长度为 0 到 9 的数字字符串 |
10 | \. | 就是单纯的表示需要匹配的小数点,加斜杠目的就是为了转义 |
11 | [a-zA-Z] | 表示匹配字符范围为小写字母a到z,A到Z |
12 | [a-zA-Z]{2,3} | 表示匹配2位或者3位大小写字母az或AZ的字符,比如:cn、com |
13 | (.[a-zA-Z]{2,3}) | 结合起来意思就是,小数点后面接的字符肯定是大小写字母范围,并且长度为2或者3位,其他长度则匹配无效 |
14 | $ | 以什么字符结尾,比如:[a-z]$,以小写字母结尾,其他字符结尾则匹配无效 |
15 | (.[a-zA-Z]{2,3}){1,2}$ | 连起来就是,括号内的情况能出现1次或者2次,比如:.com.cn |
- 效果
🏆🏆 原则:Write Less Do More!
🍎🍎简介:一只喜欢全栈方向的程序员,专注基础和实战分享,欢迎咨询,尽绵薄之力答疑解惑!
2.3、不符合规则情况
第二个为非字符,匹配结果就是直接null空值
'A=aa123@qq.com'.match(/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/)
3、手机正则匹配
3.1、手机正则表达式
- 以下为手机的正则表达式
^[1][3-9]\d{9}$
'test'.match(/^[1][3-9]\d{9}$/)
'13800138000'.match(/^[1][3-9]\d{9}$/)
- 效果
3.2、手机正则符号解释
编号 | 符号 | 解释 |
---|---|---|
1 | ^ | 匹配字符串开头的字符 |
2 | ^ [1] | 匹配中括号里的字符开头,此处表示以1开头 |
3 | ^ [1][3-9] | 第二个中括号,表示匹配第二个字符的取值在3到9之间,比如11和12开头就不属于匹配范围 |
4 | \d | 表示匹配数字字符,等同于字符集[0-9]。它是一个预定义字符集,可以用于匹配任何数字字符,包括0123456789这几个字符。 |
5 | {} | 用于指定前面的字符或表达式重复出现的次数。例如,正则表达式a{2}可以匹配连续出现两个字母a,正则表达式\d{3,5}可以匹配3到5个连续的数字。 |
6 | \d{9} | 表示数字0到9匹配连续出现9次 |
3.3、手机小知识点
手机号码为什么没有10、11、12开头的呢?原因如下
1)10、11、12开头的号码都分配给了特定机构
2)10开头的电信服务号码10086,11开头的特种服务号码114查号,119火警
3)12开头的民用特殊号码,如120急救,121天气预报
4、IP地址匹配
4.1、IP地址正则表达式
- 以下为IP地址的正则表达式
^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$
'25.25.25.25'.match(/^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$/)
'255.255.255.255'.match(/^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$/)
- 效果
5、正则表达式知识点
正则表达式(Regular Expression)是用于描述文本模式(字符排列的规律)的一种语言。下面是正则表达式中常用符号的解释。
5.1、基本符号
1)a-z 表示从小写 a 到小写 z 的任何单个字符。
2)A-Z 表示从大写 A 到大写 Z 的任何单个字符。
3)0-9 表示从数字 0 到数字 9 的任何单个字符。
例如,表达式 a.* 表示以小写字母 a 开头,后面跟着 0 个或多个任意字符的字符串。
5.2、转义字符
1)表示匹配任意单个字符(除了换行符 n)。
2)\ 表示需要转义匹配的字符,例如 . 表示匹配小数点(.)。
例如,表达式 http:// 表示匹配 http:// 字符串。
5.3、限定符
1)表示匹配前面的字符 0 次或多次,例如 a* 匹配 0 个或多个 a 字符。
2)+ 表示匹配前面的字符 1 次或多次,例如 a+ 匹配 1 个或多个 a 字符。
3)? 表示匹配前面的字符 0 次或 1 次,例如 a? 匹配 0 个或 1 个 a 字符。
例如,表达式 abc? 匹配字符 ab 或 abc。
5.4、分组和选择
1)() 表示正则表达式中的分组,例如 (abc)+ 表示匹配 1 个或多个字符串 abc。
2)| 表示或者的意思,例如 a|b 匹配 a 或 b 字符。
例如,表达式 (abc|def) 匹配字符串 abc 或 def。
以上是正则表达式中常见符号的解释。熟练掌握这些符号的使用,可以有效地处理 C# 中的字符串操作。
6、常见符号
以下为常见的正则表达式
编号 | 符号 | 含义 |
---|---|---|
1 | ^ | 表示匹配字符串开头的字符。 |
2 | $ | 表示匹配字符串结尾的字符。 |
3 | [] | 用于匹配一组字符中的任意一个字符。 |
4 | - | 用于表示一连串字符范围。 |
5 | * | 表示匹配前面字符的0个或多个副本。 |
6 | + | 表示匹配前面字符的1个或多个副本。 |
7 | ? | 表示匹配前面字符的0个或1个副本。 |
8 | . | 表示匹配任意一个字符。 |
9 | () | 用于分组,可以在后面对已匹配的分组进行处理。 |
10 | | | 用于转义特殊字符,例如.表示匹配点字符。 |
🍎🍎 本篇到此结束,感谢阅读的小伙伴,打个小小的ad,欢迎关注导师的公众号【有趣小馆】,导师会时不时发布一些有趣好玩的功能,欢迎关注!