2
我在java中有一個lookbehind的問題。 以下方法正則表達式在Java中看後面
public static void main (String[] args) throws java.lang.Exception
{
String num = "1E-12x10";
String[] numArr = num.split("(?<!E)\\-");
System.out.println(numArr[0]);
}
產生預期的輸出1E-12×10 - 「 - 」它不會在分割。
以下方法
public static void main (String[] args) throws java.lang.Exception
{
String num = "1E-12x10";
String[] numArr = num.split("[x\\-]");
System.out.println(numArr[0] + " " + numArr[1] + " " + numArr[2]);
}
也產生在兩個 'X' 和期望輸出1E 12 10,分裂 ' - '。
但是,當我嘗試以下方法
public static void main (String[] args) throws java.lang.Exception
{
String num = "1E-12x10";
String[] numArr = num.split("[x(?<!E)\\-]");
System.out.println(numArr[0] + " " + numArr[1] + " " + numArr[2]);
}
我希望字符串拆分上「X」,但不是「 - 」。然而,發生的是它分裂在'x','E'和' - '上。我不太確定這裏發生了什麼事。
太棒了,很快!謝謝。 – user2056257