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

时间:2024-12-06 07:22:41

\\:表示正则表达式

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.替换