0

0

正则表达式删除指定字符串_正则精准删除目标字符串实例

星降

星降

发布时间:2026-01-12 13:17:03

|

110人浏览过

|

来源于php中文网

原创

正则表达式可精准删除指定字符串:一、用replace()配字面量正则删固定串;二、用new RegExp动态构建并转义变量正则;三、用捕获组保留内部内容、删除包围结构。

正则表达式删除指定字符串_正则精准删除目标字符串实例

如果您需要从一段文本中精准移除特定模式的字符串,正则表达式提供了一种高效、可控的删除手段。以下是几种在不同场景下使用正则表达式删除指定字符串的具体操作方法:

一、使用replace()配合字面量正则删除固定字符串

该方法适用于目标字符串完全固定、无变化规律的情况,通过字面量正则(不带修饰符或仅带g)匹配并替换为空字符串。

1、定义原始字符串变量,例如:const text = "订单编号:ORD-7890,客户ID:CUST-456,状态:已发货"

2、调用字符串的replace方法,传入字面量正则/ORD-7890/g作为第一个参数,空字符串""作为第二个参数。

3、执行后返回新字符串:"订单编号:,客户ID:CUST-456,状态:已发货"

二、使用new RegExp动态构建正则删除含变量的目标串

当需删除的字符串内容来自变量(如用户输入、接口返回值),无法写死在字面量中时,必须使用RegExp构造函数动态生成正则对象,避免特殊字符引发语法错误。

1、声明待删除的变量,例如:const target = "CUST-456"

2、对target进行正则特殊字符转义,例如将点号、括号、连字符等替换为带反斜杠的字面形式,得到安全字符串:escapedTarget = target.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')

3、创建RegExp实例:const regex = new RegExp(escapedTarget, 'g')

4、执行替换:text.replace(regex, '')

三、利用捕获组保留非目标部分并删除包围结构

该方法适用于需删除某段字符串及其前后固定标识(如括号、引号、标签),但希望保留内部内容的情形,通过分组捕获实现“精准剥离”而非全删。

1、设定原始文本:const html = "请查看重要通知内容"

2、编写含捕获组的正则:/(.*?)/g,其中(.*?)捕获标签内任意内容。

AI Undetect
AI Undetect

让AI无法察觉,让文字更人性化,为文字体验创造无限可能。

下载

3、使用replace并引用捕获组$1作为替换值:html.replace(/(.*?)/g, '$1')

4、结果为:"请查看重要通知内容",span标签被删除,仅保留其中文字。

四、按行定位删除含特定前缀的整行

当目标字符串位于独立一行且具有唯一前缀(如日志中的DEBUG行、注释行),可借助行首锚点^与多行修饰符m,确保只删整行,不误伤跨行内容。

1、准备多行文本:const log = `INFO: 启动完成\nDEBUG: 缓存命中率92%\nWARN: 连接延迟升高`

2、构造正则:/^DEBUG:.*$/gm,^匹配行首,.*匹配该行剩余全部字符,$匹配行尾,g保证全局,m启用多行模式。

3、执行替换:log.replace(/^DEBUG:.*$/gm, '')

4、输出为:"INFO: 启动完成\n\nWARN: 连接延迟升高",DEBUG行被清空,其余行保留原位置。

五、删除重复出现的连续目标字符串(去重式删除)

针对同一字符串在文本中多次连续出现(如多个空格、重复标点、冗余分隔符),可利用量词+贪婪匹配一次性清除所有连续实例,避免循环替换。

1、设定原始字符串:const messy = "用户名: 张三 ,邮箱: zhang@ex.com "

2、编写匹配连续空白的正则:/\s{2,}/g,{2,}表示匹配两个及以上空白字符(含空格、制表符等)。

3、替换为单个空格:messy.replace(/\s{2,}/g, ' ')

4、结果为:"用户名: 张三 ,邮箱: zhang@ex.com ",所有多余空白压缩为单空格。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

247

2023.07.05

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

737

2023.07.05

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

211

2023.08.11

正则表达式空格
正则表达式空格

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

349

2023.08.31

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

293

2023.11.13

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

232

2023.11.17

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

528

2023.12.06

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

4

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

AngularJS教程
AngularJS教程

共24课时 | 2.5万人学习

CSS教程
CSS教程

共754课时 | 18.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号