Java-regexp-捕获数字,但前提是前面没有比较器

Java-regexp-捕获数字,但前提是前面没有比较器,java,regex,lookbehind,Java,Regex,Lookbehind,我有一个字符串列表,其模式如下: 128 and 228 and alpha > 200 and bravo < 400 or charlie = 400 我试图通过以下方法实现这一点:(^\d+|)(?|您可以使用该机制 我们希望找到并替换没有数字的数字 或200,布拉沃200…您可能还应该阅读“”谢谢你的回复…很抱歉忘了提到第二场比赛也包括空格。我不想这样。谢谢Pshemo…这正是我要找的。我只是无法让regexp只选择没有空格的数字。这非常有效。 s.128 and s.2

我有一个字符串列表,其模式如下:

128 and 228 and alpha > 200 and bravo < 400 or charlie = 400
我试图通过以下方法实现这一点:
(^\d+|)(?|您可以使用该机制

我们希望找到并替换没有数字的数字

  • 200,布拉沃<400或查理=400
    
    我试过了,效果很好:


    请注意,第二个匹配也包括
    228
    之前的空格,这将使替换的字符串看起来像
    s.128 ands.228和alpha>200…
    您可能还应该阅读“”谢谢你的回复…很抱歉忘了提到第二场比赛也包括空格。我不想这样。谢谢Pshemo…这正是我要找的。我只是无法让regexp只选择没有空格的数字。这非常有效。
    s.128 and s.228 and alpha > 200 and bravo < 400 or charlie = 400
    
    replaceAll("(?<![>=<]\\s|\\d)\\d+", "s.$0")
    
    String text = "128 and 228 and alpha > 200 and bravo < 400 or charlie = 400";
    text = text.replaceAll("(?<![>=<]\\s|\\d)\\d+", "s.$0");
    System.out.println(text);
    
    s.128 and s.228 and alpha > 200 and bravo < 400 or charlie = 400