![](/img/trans.png)
[英]Evaluating math expressions in a string using regex to split the string
[英]Using Regex to split math equations
因此,我试图拆分一个简单的数学方程,该科学方程以科学计数形式包含两个双精度,例如“ 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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.