gpt4 book ai didi

java - 使用正则表达式拆分数学方程

转载 作者:太空宇宙 更新时间:2023-11-04 07:22:42 26 4
gpt4 key购买 nike

所以我试图拆分一个包含两个科学记数法 double 的简单数学方程,例如“54E-1-57E-1”。我正在尝试找到正则表达式模式来为我做到这一点,但我遇到了两个问题。第一个是,以下代码成功分割了我的字符串,但由于某种原因 negTest 打印出 false,我不知道为什么。

public static void main(String[] args) {
String testString = "54E-1-57E-1";
boolean negTest = string.contains("(?<=\\d)-(?=\\d)");
System.out.println(negTest);
String[] output = testString.split("(?<=\\d)-(?=\\d)");
System.out.println(Arrays.toString(output));
}

//Output:
//false
//[54E-1, 57E-1]

我认为这是我的正则表达式的问题,但字符串在减号周围成功分割,这让我感到困惑。第二个问题是我如何分割它以便减号包含在第二项中,例如

[54E-1, -57E-1]

非常感谢任何帮助/解释!

最佳答案

1> contains不接受正则表达式作为参数..所以你试图匹配 (?<=\\d)-(?=\\d)作为字符串而不是正则表达式

2>包括 - ,你的正则表达式应该是

(?<=\\d)(?=-\\d)

关于java - 使用正则表达式拆分数学方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19069441/

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