У меня есть следующий фрагмент кода, который разбивает строку и возвращает массив строк.Как это регулярное выражение работает на 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). –