【发布时间】:2017-04-08 13:21:40
【问题描述】:
我有以下正则表达式,它标识字符串中的索引变量名称(符号数学方程):
[a-z][0-9]
我想删除字符串中不是索引变量名称的所有部分。我见过这样做的负面前瞻表达式,但是我见过的例子使用锚。如果这些示例包含变量名,它们将拒绝整个字符串,而不是替换字符串中不是变量名的部分。有没有一种有效的方法来实现这一点?我正在使用 Java 的 replaceAll() 方法来尝试实现它:
String s = "5x0 +3x2 = 7"; // I should get "x0 x2" after the regex
s.replaceAll("[a-z][0-9]", ""); // this should be negated
【问题讨论】:
-
如果您希望匹配的组以空格分隔,最好使用 Matcher 类并从捕获组中组装一个新字符串。
-
请清楚地描述您的问题输出。你的输出是
x0 + x2 = 7?
标签: java regex-negation