pattern - regular expression generator for java
La expresión regular de Java value.split("//."), "The back slash dot" se divide por carácter? (2)
La expresión regular "." emparejaría cualquier carácter como usted declara. Sin embargo, un punto escapado "/" coincidiría con los caracteres de puntos literales. Por lo tanto, 192.168.1.1 se divide en "/". daría como resultado {"192", "168", "1", "1"}.
Tu fraseología no está del todo clara, pero creo que esto es lo que estás preguntando.
Por lo que entiendo, ¿el punto de la barra invertida ( /.
) Significa un personaje de cualquier personaje? Entonces, como la barra invertida es un escape, debería ser una barra diagonal inversa ( "//."
)
¿Qué hace esto a una cadena? Acabo de ver esto en un código existente en el que estoy trabajando. Por lo que entiendo, dividirá la cadena en caracteres individuales. ¿Por qué hacer esto en lugar de String.toCharArray()
? Entonces, ¿esto divide la cadena en una matriz de cadena que contiene solo un carácter para cada cadena en la matriz?
Supongo que te falta que los caracteres de barra invertida (''/') sean caracteres de escape en los literales de Java String. Entonces, cuando quiera usar un escape ''/' en una expresión regular escrita como Java String, necesita escapar de ella; p.ej
Pattern.compile("/."); // Java syntax error
// A regex that matches a (any) character
Pattern.compile(".");
// A regex that matches a literal ''.'' character
Pattern.compile("//.");
// A regex that matches a literal ''/' followed by one character
Pattern.compile("////.");
El String.split(String separatorRegex)
divide una cadena en subcadenas separadas por subcadenas que coinciden con la expresión regular. Entonces str.split("//.")
str
en subseries separadas por un solo literal ''.'' personaje.