¿Cómo puedo exportar PHP preg_split a Java para el caso especial de deserializar un valor en ADODB?

Necesito portar esta función para deserializar un valor en ADODB a Java.

$variables = array( ); $a = preg_split( "/(\w+)\|/", $serialized_string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE ); for( $i = 0; $i < count( $a ); $i = $i+2 ) { $variables[$a[$i]] = unserialize( $a[$i+1] ); } 

Tengo una biblioteca para deserializar los valores de la forma php, pero necesito ayuda para portar sobre el preg_split. ¿Cómo sería esta expresión regular en Java?

Código Java equivalente:

 import java.util.List; import java.util.ArrayList; // Test String serialized_string = "foo|bar|coco123||cool

“; // Split the test String[] raw_results=serialized_string.split(“\\|”);// Trailing empty strings are removed but not internal ones // Cleansing of the results List php_like_results = new ArrayList(); for(String tmp : raw_results) { if (tmp.length()>0) { php_like_results.add(tmp); } } // Output results System.out.println(php_like_results);

Esto producirá: [foo, bar, coco123, cool]