我有以下一段代碼拆分字符串並返回一個字符串數組。這個正則表達式在Java中如何工作?
public static void main(String[] args) {
String name="what is going on";
String[] ary = name.split("");
System.out.println(Arrays.toString(ary));
}
//output: [, w, h, a, t, , i, s, , g, o, i, n, g, , o, n]
爲防止尾隨空格,在拆分過程中使用以下正則表達式。 但我想知道它是如何工作
public static void main(String[] args) {
String name="what is going on";
String[] ary = name.split("(?!^)");
System.out.println(Arrays.toString(ary));
} //[w, h, a, t, , i, s, , g, o, i, n, g, , o, n]
,如果有人可以解釋的正則表達式查找什麼,以及如何正則表達式,用於分裂,這將是對Java初學者社區非常有幫助。非常感謝
http:// stackoverflow。 com/questions/6576625/why-is-equivalent-to – assylias
我沒有一個完整的答案給你,但這裏有一個很好的參考。你在這裏處理的是「零寬度負向預測」。 http://www.regular-expressions.info/refadv.html –
你可能想要閱讀[anchors](http://www.regular-expressions.info/anchors.html)和[lookarounds](http: //www.regular-expressions.info/lookaround.html)。 –