Regex “如何搜索/替换全部”;n(>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;&;在同一等式内?

Regex “如何搜索/替换全部”;n(>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;&;在同一等式内?,regex,swift,Regex,Swift,场景: 用户可以在字符串格式的方程式中输入任意数量的括号对。但是,我需要检查以确保所有括号(或)都有一个相邻的乘数符号*。因此3(应该是3*(和)3应该是)*3。 我需要将所有可能出现的n(替换为n*(和)n替换为)*n 例如: 什么是正确的正则表达式如何执行此操作? 我在想类似于[0-9]\(&\)[0-9]的东西。 但是我不知道搜索所有保证模式的完整语法是用*insert替换的 编辑-误读问题 在swift中没有看到任何正则表达式功能,所以我假设它使用的是导入的东西(或者visa反之

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

例如:

什么是正确的正则表达式如何执行此操作? 我在想类似于
[0-9]\(&\)[0-9]
的东西。 但是我不知道搜索所有保证模式的完整语法是用
*
insert替换的

编辑-误读问题

在swift中没有看到任何正则表达式功能,所以我假设它使用的是导入的东西(或者visa反之亦然)

不使用高级断言,一种方法是分两次执行

通过1:

查找:
([\d)](\()

替换:
$1*$2

通过2:

查找:
(\)([\d(])

替换:
$1*$2

编辑-误读问题

在swift中没有看到任何正则表达式功能,所以我假设它使用的是导入的东西(或者visa反之亦然)

不使用高级断言,一种方法是分两次执行

通过1:

查找:
([\d)](\()

替换:
$1*$2

通过2:

查找:
(\)([\d(])

替换:
$1*$2

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

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

把评论变成回答

根据目前给出的输入,以下各项似乎有效:

  • 关于
    n(
    )n
    的原始请求:
    (?将评论转化为答案

    根据目前给出的输入,以下各项似乎有效:

    • 关于
      n(
      )n
      的原始请求:

      (?您是否只想在数字和
      之间插入一个
      *
      ?在这种情况下,如果您使用正则表达式,您将需要两个回合:一个是
      (?您可能需要检查
      )(
      ,如果
      (1+2)(3+4)
      可能会出现
      n(
      )n
      ,不能被替换?可以
      (?我没有考虑过“)(”。我正在使用Nexpression解析方程。它不喜欢“)”+数字。它需要一个运算符;因此需要regexp搜索/替换。我正在研究RegEx101(我真的需要研究regexp!)。Skrundz提到了另一个场景:“)(“应该变成“)*('.您是否只想在数字和
      之间插入一个
      *
      ?在这种情况下,如果您使用正则表达式,您需要两个回合:一个是
      (?您可能需要检查
      )(
      如果
      (1+2)(3+4)
      可能会出现
      n(
      )n
      ,不能被替换?可以
      (?我没有考虑过“)(”。我正在使用Nexpression解析方程。它不喜欢“)”+数字。它需要一个运算符;因此需要regexp搜索/替换。我正在研究RegEx101(我真的需要研究regexp!)。Skrundz提到了另一个场景:“)(“应该变成“)*('。如何包括对:'('to')*(')的测试?一种方法:在第二个备选方案中,扩展前瞻以允许包含数字和左括号的范围。请参阅上面的更新。我刚刚扫描了')('并将其替换为')*('via NSMutableString.No,我想学习如何在regexp中进行扫描。同时,我想我可以单独进行扫描')('via NSMutableString.No,我想学习regexp™ 用于研究的文档。您将如何包括以下内容的测试:')('to')*('?一种方法:在第二种选择中,扩展前瞻以允许包含数字和左括号的范围。请参阅上面的更新。我刚刚扫描了')('并将其替换为')*('via NSMutableString.No,我想学习如何在regexp中进行扫描。同时,我想我可以单独进行扫描')('via NSMutableString.No,我想学习regexp™ 用于研究的文档。我必须使用Cocoa来解析正则表达式。我必须使用Cocoa来解析正则表达式。
      
      1+5(3+4)7/2   ---> 1+5*(3+4)*7/2
      
      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)