正则表达式基础

本文详细介绍了正则表达式的基础知识,包括字符串的组成、元字符、转义字符、重复等概念,通过实例帮助读者理解如何使用正则表达式进行字符串操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

概念:

正则表达式的基础知识:   

1、字符串的组成

2、占有字符和零宽度

3、元字符

4、转义字符

5、字符类型

6、重复

7、分支条件

8、分组

9、反义字符

小结:            


概念:

正则表达式是对字符串操作的一种逻辑公式

概念解析:

1、正则表达式是一种逻辑公式

2、一种对字符串操作的逻辑公式

3、对字符串的什么操作呢?对字符串的一种过滤,搜索符合限定条件(逻辑公式)的字符串


正则表达式的基础知识:   

1、字符串的组成

      对于字符串“123”而言,包括三个字符,四个位置。

2、占有字符和零宽度

     占有字符:正则表达式匹配到的东西,不是一个位置,而且能保存到陪陪的结果当中,这样的就叫做占有字符。

      零宽度:只匹配一个位置,或者匹配的内容并不保存到匹配结果中,就称作零宽度

     小结:占有字符是互斥的,也就是一个字符,同一时间只能由一个子表达式匹配

               零宽度是非互斥的,一个位置,可以同时由多个零宽度的子表达式匹配。

     举个零宽度的例子:用正则表达式来筛选找到一个符合条件的位置,用来取到此位置之前或者之后的字符。

               123ab456ab789ab     正则表达式的条件是:取‘ab’这个位置之前的所有字符(这也就是所谓的零宽度断言)

3、元字符

     正则表达式语言由两种基本字符类型组成:原义(正常)文本字符和元字符。正是元字符才使正则表达式具有处理能力。

限定符描述模式
.

匹配出换行符以外的任意字符

\d*\.\d

\w

匹配字母数字或下划线或者汉字或者下划线

"be+"
\s

匹配任意空白符

  
"rai?n"
\d

匹配数字

",\d{3}"
\b

匹配单词开始或结束,它只是匹配一个位置

"\d{2,}"

^

匹配字符串开始

"\d{3,5}"

$

匹配字符串结束

"\d{3,5}"

       点击查看完整元字符列表

4、转义字符

     转义字符是专门用在元字符身上的。如果你想要得到元字符本身的话需要使用"\"来取消这些元字符的特殊意义

5、字符类型

     首先字符类型使用"[]"包括起来,且大小写要区分

      例子:

      [a-zA-Z0-9] 这个正则表达式表示:匹配一个字符,这个字符可以是a-z范围内或者A-Z范围内或者0-9范围内的任意小写或者大写或数字字符

      [ABC]这个表示:匹配一个字符,这个字符可以是A,可以是B,可以是C

6、重复

代码/语法

说明

*

重复0次或多次

+

重复一次或多次

?

重复零次或1次

{n}

重复n次

{n,}

重复至少n次

{n,m}

重复至少n次,但不多于m次

      例子: [ABC]*    匹配0个或多个字符,这些字符可以是A,可以是B,可以是C

                 [ABC]{5,10}    匹配5-10范围内个字符,这些字符可以是A,可以是B,可以是C

7、分支条件

     指的是有几种规则:用“|”把不同的规则分开

     例子:[A]|[B]|[C]|[D]  匹配一个字符:这个字符可以是A或B或C或D

8、分组

      使用小括号()来指定字表达式

      例子:(\d{1,3}){3}\d{3}   表示:把我们分组的小括号里面的东西重复三次,也就是说我们至少匹配3个最多匹配9个数字,后面再加上三个数字

9、反义字符

     有时需查找不属于某个能简单定义的字符类的字符。比如查找除了数字以外其它任意字符都行的情况,这时需用反义:

代码/语法

说明

\W

匹配任意一个不是字母或数字下划线或汉字的字符

\S

匹配任意一个不是空白符的字符

\D

匹配不是数字的字符

\B

匹配不是单词开头或者结尾的位置

[^X]

匹配除了X以外的任意字符

[^aeiou]

匹配除了aeiou这几个字母以外的任意字符


小结:            

      这篇博客属于基础中的基础,小编也给出了自己的理解,并基本都附有小例子,帮助大家理解。如果这篇博客的东西你看明白啦,那么正则表达式的基础你已经学会了。感谢您的阅读,如果喜欢,记得给小编点赞哦?

                     

                                                                           点击阅读  下一篇:正则表达式进阶 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值