正则表达式(详解)

正则表达式是一种强大的文本处理工具,能够快速有效地从大量文本中匹配和提取特定格式的字符串,如IP地址、邮箱地址等。通过元字符如`.`、`[]`、`^`、`$`、`()`等,可以构建各种匹配模式,实现对字符串的精确匹配和查找。例如,使用`^`和`$`限制匹配行首和行尾,使用`[]`和`-`定义字符范围,以及`*`、`+`、`?`控制重复次数。正则表达式是程序员处理字符串问题的得力助手。

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

计算机处理数据时,大多数情况处理的是字符串对象。

eg:

e-mail 地址

数字字符串由纯数字字符构成,或由'-'开头的纯数字字符构成

IP地址===>点分式字符串 xxx.xxx.xxx.xxx (192.168.31.238)

……

上述这些就是我们程序日常需要处理的对象

现在的问题是,计算机如何去处理这些字符串呢???

比如:

         计算机如何从 几个G的文件中,找出所有的 IP地址

         常人所能想到的方式都太麻烦两!!!

         需要一种便捷的方式,来描述这些格式特定的字符串====》 正则表达式


1.正则表达式:

定义:描述某种特定规则的字符串的表达式,就被称为正则表达式(筛子、过滤器)。

2.正则表达式的规则:

正则表达式描述某种符合特定规律的字符串的一种表达式。

正则表达式也被称为 匹配模式,它由一组特定含义的字符组成。通常用于匹配和替换文本。

正则表达式通常分为两种:

(1)普通字符:只代表自己本身的字符。

(2)元字符:有特殊含义的字符。

接下来我们就看看有哪些元字符。

3.元字符:

 (1)字符 . ====>匹配任意单个字符。

 (2)字符[ ]====> 字符组,由多个字符串组成,但其表示的含义是“匹配[]中列举的任意一个字              符

          比如:

                   [13579]

                   匹配1 或 3 或 5 或 7 或 9

 (3)字符 - ====>用在元字符 [ ] 中,表示 一段连续的字符。

          eg:

                [_a-zA-Z][a-zA-Z0-9_] 匹配一个不以数字开头,且由数字/大小写字母/_组成的字符串。

 (4)字符[^]====>排除字符组,匹配除[^]内列举的任意字符。

 (5)字符 + ====>匹配一个或多个字符。

 (6)字符 *  ====>匹配0个或多个前置字符。

 (7)字符 ?====>匹配一个 或 0个 前置字符。

 (8)字符{n}====>匹配n个前置字符。

 (9)字符{n,m}==>匹配最少n个,最多m个前置字符。

 (10)字符 ^ ===>仅匹配由后面的正则表达式描述的字符串为行首的内容。

            eg:

                 ^[0-9]

                 表示仅匹配行首的数字字符

 (11)字符$====>仅匹配由前面的正则表达式描述的字符串为行尾的内容。

            eg:

                 [0-9]$ 

​                 仅匹配行尾的数字字符

    (12) 字符()=====>用来将阔起来的内容作为一个整体.

            eg:

                 (abc){3,}

                 ===>

                         abcabcabc

                         abcabcabcabc

                         ……

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序番茄君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值