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)
- 关于