"n*("和 ")n"-> ")*n"?-6ren"> "n*("和 ")n"-> ")*n"?-场景: 用户可以在字符串格式的方程式中输入任意数量的括号对。但是,我需要检查以确保所有括号 ( 或 ) 都有一个相邻的乘数符号 *。因此 3( 应该是 3*( 和 )3 应该是 )*3。 我需要将所有-6ren">
gpt4 book ai didi

regex - 如何在同一等式中搜索/替换所有 "n("-> "n*("和 ")n"-> ")*n"?

转载 作者:行者123 更新时间:2023-11-28 09:04:49 31 4
gpt4 key购买 nike

场景:
用户可以在字符串格式的方程式中输入任意数量的括号对。但是,我需要检查以确保所有括号 () 都有一个相邻的乘数符号 *。因此 3( 应该是 3*()3 应该是 )*3

我需要将所有可能出现的 n( 替换为 n*()n 替换为 )*n

示例:

1+5(3+4)7/2   ---> 1+5*(3+4)*7/2

执行此操作的正确正则表达式是什么?

我在想像 [0-9]\( &\)[0-9] 这样的东西。但是我不知道搜索所有要用 * 插入替换的模式保证的完整语法。

最佳答案

没有正则表达式的痛苦(但可能不是最漂亮的解决方案):

equation = '1+5(3+4)7/2'
output = ''

for index, char in enumerate(equation):
if char == '(' and equation[index-1] != '*' or equation[index-1] == ')' and char != '*':
output += '*'
output += char
print('finally:', output)

关于regex - 如何在同一等式中搜索/替换所有 "n("-> "n*("和 ")n"-> ")*n"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31102967/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com