java - 在java中使用正则表达式从字符串中提取 double 或整数?

标签 java regex

我想从字符串中提取一个方程常数(即整数或双非后跟一个字母,如“x”)。 例如 eqn = "30.14x^2 + 55.69x + 60.1 = 100"。 到目前为止,我可以使用

获得 x 的系数
([\\+\\-])?(\\d+(\\.\\d+)?)x

在这种情况下给出 55.69x 或 30.14x

现在我想获取常量,我已经尝试使用下面的正则表达式来提取 +60.1 或 100

(?<!^)([\\+\\-])?(\\d+(\\.\\d+)?)(?!x)

但是这行不通。非常感谢任何帮助,因为我已经使用了一个月左右。

最佳答案

关于

 (?<!\^)(-|\+)?[\d.]++(?!x)

?

此变体使用所有格量词(“++”),对无效数字可能不太严格,但如果字符串在语法上是正确的,这无关紧要。

关于java - 在java中使用正则表达式从字符串中提取 double 或整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11156320/

相关文章:

java - 使用 JAXB 获取 XML 签名的最佳方法

java - 为什么在使用 @RunWith(SpringJUnit4ClassRunner.class) 时,JUnit 4.12 会针对 assertEquals 抛出 NoSuchMethodError?

java - FXML 设置 TableView 列大小调整策略

javascript - 如何将其拆分为 token ?

javascript - RegEx - 查找模式之间的字符串

java - 从外部调用 akka actor 非常慢

java - 我的应用程序有时会崩溃(AsyncTask 应该是静态的)

javascript - Javascript 中的正则表达式 vcf

java - 使用正则表达式的codingbat wordEnds

python - 为什么这个 python 正则表达式不能编译?