华为OD机试2025A卷 - 正则表达式替换(Java & Python& JS & C++ & C )

最新华为OD机试

真题目录:点击查看目录
华为OD面试真题精选:点击立即查看

题目描述

为了便于业务互交,约定一个对输入的字符串中的下划线做统一替换。

具体要求如下:

输入字符串,将其中包含的每一个下划线“_”,使用特殊字符串(^|$|[,+])替换,并输出替换后的结果。

其中的例外场景不做替换,场景如下:

在一堆方括号之内的下划线不做替换
为转义的下划线,即\_则不替换
备注:

调用者已确保,输入表达式的方括号会成对出现,并且方括号会在嵌套。即存在"[xx[yyyy]xxx]"这种形式的字符串
输入字符串的长度范围:[0,10000]

输入描述

一个字符串,例如(_9494)

输出描述

一个字符串,例如((^|$|[,+])9494)

示例1

输入

hello_world_test

输出

hello(^|$|[,+])world(^|$|[,+])test

说明

示例2

输入

(_9494)

输出

((^|$|[,+])9494)

说明

解题思路

这道题目要求我们对一个输入的字符串进行处理,替换掉其中的下划线(_)字符,特定条件下使用正则替换模式 (^|$|[,+])。在进行替换时,我们需要