首页 > 解决方案 > 正则表达式:VBA:使用条件评估表达式

问题描述

我正在尝试从公式表达式(在 vba 中)中提取一个单元格编号,我需要将其替换为另一个单元格编号。例如:我在不同的单元格中有以下公式 "=AL82+L8+L82", "=L8+L82" 和 "=AL82+L8" 。我必须将每个公式中的“L8”更改为“L9”。我是正则表达式的新手,正在尝试正则表达式模式中的以下表达式:

"(?=[^A-Z])([L8])(?=[^0-9])"

然而只有 8 变成了 L9。请帮助我解决错误。

谢谢

标签: excelregexvba

解决方案


您可以在捕获组中捕获加号或等号。

然后匹配 L8 并使用否定前瞻断言,即 8 后不直接跟数字。

在替换使用组 1 后跟 L9:$1L9

([+=])L8(?!\d)

查看正则表达式演示


推荐阅读