我正在尝试在可能用星号表示的字符串中匹配xx.xx
,xx.x
或x.x
等数值。
*10.00
5.0
但 不 匹配奇异数字
*1
5m
并将其替换为彩色版本,但我的模式与字符串中的整个元素不匹配,但是多个部分
以下是我尝试过的内容:https://ideone.com/vZwCzh
String string = "*10.00 5.0 *1 5m";
System.out.println(string.replaceAll("([\\*?0-9.]){3,15}", "<span style=\"color:yellow\">$1</span>"));
我得到了
<span style="color:yellow">0</span> <span style="color:yellow">0</span> *1 5m
而不是
<span style="color:yellow">*10.00</span> <span style="color:yellow">5.0</span> *1 5m
答案 0 :(得分:0)
您可以替换它:
\*?\d(?:\d\.\d\d?|\d?\.\d)
通过这个:
<span style="color:yellow">$0</span>
演示here