gpt4 book ai didi

java - 正则表达式从字符串中捕获 float (并替换为捕获的 float )

转载 作者:行者123 更新时间:2023-11-30 06:22:52 24 4
gpt4 key购买 nike

假设我有以下表达式:

2^3+4
5*3 + log(9) + 32/4 - 2.1^5
44 - 22 + sin(30)*2.34 + 51.32^4 + 17*32/11

我想找到并捕获之前的'^'数字和之后的数字,然后将其替换为 Math.pow(captured1,captured2);所以字符串会像:

Math.pow(2,3)+4
5*3 + log(9) + 32/4 - Math.pow(2.1,5)
44 - 22 + sin(30)*2.34 + Math.pow(51.32,4) + 17*32/11

它必须与 Java 正则表达式兼容。

我的看法:

查找:

(.*\d(\.\d)?)\^(.*\d(\.\d)?)

替换:

Math.pow(\1,\2)

提前致谢。

最佳答案

String result = subject.replaceAll("(-?\\d+(?:\\.\\d+)?)\\^(-?\\d+(?:\\.\\d+)?)", "Math.pow($1,$2)");

关于java - 正则表达式从字符串中捕获 float (并替换为捕获的 float ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836669/

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