什么是正则表达式?

正则表达式是对字符串(包括普通字符(例如:a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

看了上面对正则表达式的描述,是不是感觉一头雾水。下面我们通过一个例子直观的介绍什么是正则表达式:

上面例子中,将使用“w{3}\.[a-z]{1,}\.[a-z]{3}”正则表达式匹配 “https://www.hxstrive.com/index.html”  字符串中的“www.hxstrive.com”。其中,“w{3}\.[a-z]{1,}\.[a-z]{3}”就是一个简单的正则表达式。该正则表达式含义如下:

  • w{3}:表示匹配三个连续的“w”字符

  • \.:表示一个点“.”,其中 \ 是转移符

  • [a-z]:表示任意一个 a 到 z 之间的字符

  • [a-z]{1,}:表示匹配至少有一个 a 到 z 之间的字符

  • [a-z]{3}:表示3个连续的 a 到 z 之间的字符

目的

给定一个正则表达式和一个字符串,我们可以达到如下的目的:

  • 验证给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”,即字符串是否和正则表达式匹配)。例如:用正则表达式匹配手机号码、邮箱地址、网站URL、身份证号码等格式

  • 使用正则表达式从字符串中获取我们想要的特定部分、或者替换字符串中的特定部分。例如:从身份证号码中提取出生年月

特点

正则表达式的特点是:

  • 灵活性、逻辑性和功能性非常强;

  • 可以迅速地用极简单的方式达到字符串的复杂控制;

  • 对于刚接触的人来说,比较晦涩难懂;

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器 EditPlus,大到 Microsoft Word、Visual Studio 等大型编辑器,都可以使用正则表达式来处理文本内容。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号