学习记录,正则表达式, 隐式转换

正则表达式

\\:表示正则表达式

W: 表示一个非字(不是一个字,例如:空格,逗号,句号)

W+: 多个非字

基本组成部分

1.字符字面量:

普通字符:在正则表达式中,大多数普通字符(如字母、数字等)匹配它们自身。

元字符(Metacharacters):有些字符具有特殊含义,这些被称为元字符。

2.字符类:

字符类。包括单个字符和字符范围。eg:'a'匹配字符'a','[abc]'匹配'a','b',或者'c'中的任意一个字符,'[a-z]'匹配从'a'到'z'的任意一个小写字母。方括号表示字符类,用于匹配其中的任意一个字符。

3.量词:

用于指定前面的元素(字符、字符类等)出现的次数。

4.分组:

用括号()进行分组。分组有多种用途,例如可以对分组应用量词,如(ab)+会匹配ab、abab、ababab等。

5.边界匹配器:

^:匹配输入的开头。例如^abc匹配以abc开头的字符串。

:匹配输入的结尾。例如abc匹配以abc结尾的字符串。

\b:匹配单词边界。例如\bcat\b匹配独立的单词cat,而不会匹配scatter中的cat部分。

|-------|----------------------|-------------------|---------------------------|
| 单字符 | 大多数字符匹配自身 | 正则表达式abc,文本abc | a匹配a,b匹配b,c匹配c |
| 方括号 | [ ]定义字符类,匹配其余字符 | [abc],文本a,b或c | [abc]能匹配a,b或c |
| 排除字符类 | [ ]开头加^,匹配其余字符 | [^abc],文本d | [^abc]匹配除a,b,c之外的字符,如d |
| . | 匹配除换行外单个字符 | a.c,文本abc、a&c等 | a.c可匹配多种,只要中间是一非换行字符 |
| \d | 等价[0-9],匹配数字 | \d{3},文本123、456 | \d{3}匹配连续3个数字 |
| \D | 等价[^0-9],匹配非字符 | \D+文本abc | \D+匹配至少一个非修饰字符,如abc |
| \w | 等价[a-zA-Z-9_],匹配其他 | \W,文本& | \W匹配非字母等字符,如& |
| \s | 匹配空白字符 | a\sb,文本ab | a\sb匹配含空白字符串 |
| \S | 匹配非空白字符 | \S+,文本abc | \S+匹配至少一个非空白字符,如abc |
| * | 匹配前面0次或多次 | a*,文本" ",a,aa等 | a*可匹配空、a及多个a |
| + | 匹配前面至少1次 | a+,文本a、aa等 | a+匹配a及多个a,不匹配空 |
| ? | 匹配前面最多1次 | a?,文本" ",a | a?匹配空或a |
| {n} | 匹配前面恰好n次 | a{3},文本aaa | a{3}匹配aaa |
| {n,} | 匹配前面至少n次 | a{2,},文本aa,aaa等 | a{2,}匹配多个a,至少2个 |
| {n,m} | 匹配前面n到m次 | a{1,3},文本a,aa,aaa | a{1,3}匹配1到3个a |

应用场景:
1.找到符合要求的字串
2.判断给的字符串是否符合要求
3.替换

隐式转换

自动将一种类型的值转换为另一种类型的值。是单个参数的方法。

相关推荐
csgo打的菜又爱玩6 小时前
Vue 学习与实践大纲(后端视角)
前端·学习
charlie1145141917 小时前
理解C++20的革命特性——协程引用之——利用协程做一个迷你的Echo Server
网络·学习·socket·c++20·协程·epoll·raii
Yupureki7 小时前
从零开始的C++学习生活 4:类和对象(下)
c语言·数据结构·c++·学习
MAR-Sky7 小时前
单片机学习中的一些简单总结
单片机·嵌入式硬件·学习
Dream_言十7 小时前
光全息|OAM-旋转双维度复用全息
神经网络·学习·dnn·论文笔记
知识分享小能手7 小时前
微信小程序入门学习教程,从入门到精通,WXS语法详解(10)
前端·javascript·学习·微信小程序·小程序·vue·团队开发
悠哉悠哉愿意13 小时前
【ROS2学习笔记】 TF 坐标系
笔记·学习·ros2
代码萌新知13 小时前
设计模式学习(五)装饰者模式、桥接模式、外观模式
java·学习·设计模式·桥接模式·装饰器模式·外观模式
驱动探索者16 小时前
find 命令使用介绍
java·linux·运维·服务器·前端·学习·microsoft
小雨凉如水16 小时前
k8s学习-pod的生命周期
java·学习·kubernetes