Sitio web original: serie de expresiones regulares de Java: el uso de Pattern y Matcher_IT, cuchillo afilado, blog desenvainado-blog CSDN
Introducción
ilustrar
Este artículo presenta el uso de dos clases importantes en las expresiones regulares de Java: Pattern y Matcher.
En Java, el paquete java.util.regex define las clases relacionadas utilizadas por las expresiones regulares, y las dos clases principales son: Pattern y Matcher.
- Patrón: cree un patrón coincidente después de pasar la expresión regular.
- Matcher: utilice la expresión regular proporcionada por la instancia de Pattern para hacer coincidir la cadena de destino.
ejemplo
// 将正则表达式编译成 Pattern 对象,(1 或 0 个符号,后跟 至少一个数组[0-9])
Pattern pattern = Pattern.compile("-?\\d+");
// 利用 Pattern 对象生成 Matcher 对象.
Matcher matcher = pattern.matcher("-1234");
// 查看匹配结果
System.out.println(matcher.matches());
Lo anterior también se puede escribir así (si solo usa expresiones regulares una vez, puede usar las coincidencias del método estático de Pattern):
// 使用 Pattern 对象的静态方法执行一次正则匹配.
System.out.println(Pattern.matches("-?\\d+", "123"));
También puedes escribir:
"123".matches("-?\\d+");
Patrón
crear
Los siguientes dos métodos estáticos pueden crear un patrón.
public static Pattern compile(String regex)
public static Pattern compile(String regex, int flags)
Ejemplo:
Pattern pattern = Pattern.compile("[a-z]\\d{3}.*");
Dividir
Este método se utiliza para dividir la cadena y devolver una Cadena []
//通过正则表达式对input进行分割。
public String[] split(CharSequence input)
//通过正则表达式对input进行分割,limit参数指明分割的段数。
public String[] split(CharSequence input, int limit)
ejemplo
Pattern p=Pattern.compile("\\d+");
String[] str=p.split("我的QQ是:456456我的电话是:0532214我的邮箱是:[email protected]");
resultado
str[0]="我的QQ是:", str[1]="我的电话是:", str[2]="我的邮箱是:[email protected]"
otro
Crear variable de comparación
public Matcher matcher (entrada CharSequence) Crea un objeto Matcher para la entrada de cadena de destino.
Convierta la cadena s en un literal regular
public static String quote(String s)
igualador
método de índice
El método de índice proporciona valores de índice útiles que indican exactamente en qué parte de la cadena de entrada se puede encontrar una coincidencia:
método |
ilustrar |
inicio int público() |
Devuelve el índice inicial de la coincidencia anterior. |
inicio int público (grupo int) |
devuelve el índice inicial de la subsecuencia capturada por el grupo dado durante la operación de coincidencia anterior |
final de intención pública() |
Devuelve el desplazamiento después del último carácter coincidente. |
extremo público int (grupo int) |
Devuelve el desplazamiento después del último carácter de la subsecuencia capturada por el grupo dado durante la operación de coincidencia anterior. |
método de búsqueda
El método de búsqueda verifica la cadena de entrada y devuelve un valor booleano que indica si se encontró el patrón:
método |
ilustrar |
público booleano mirando() |
Intenta hacer coincidir la secuencia de entrada que comienza al principio de la región con este patrón. |
búsqueda booleana pública() |
Intenta encontrar la siguiente subsecuencia de la secuencia de entrada que coincida con este patrón. |
búsqueda booleana pública (int start) |
Restablece este comparador y luego intenta encontrar la siguiente subsecuencia de la secuencia de entrada comenzando en el índice especificado que coincide con este patrón. |
coincidencias booleanas públicas() |
Intenta hacer coincidir toda la región con el patrón. |
Método de reemplazo
El método de reemplazo es un método que reemplaza el texto en la cadena de entrada:
método |
ilustrar |
appendReplacement de Matcher público ( StringBuffer sb, reemplazo de cadena) |
Implemente pasos para agregar y reemplazar sin terminales. |
appendTail público StringBuffer (StringBuffer sb) |
Implementar pasos de adición y reemplazo de terminales. |
cadena pública reemplazar todo (reemplazo de cadena) |
Reemplaza cada subsecuencia de la secuencia de entrada cuyo patrón coincide con la cadena de reemplazo dada. |
reemplazo de cadena públicaPrimero (reemplazo de cadena) |
Reemplaza la primera subsecuencia de la secuencia de entrada cuyo patrón coincide con la cadena de reemplazo dada. |
Reemplazo de cotización de cadena estática pública (cadena s) |
Devuelve la cadena de reemplazo literal para la cadena especificada. Este método devuelve una cadena que funciona como una cadena literal pasada al método appendReplacement de la clase Matcher. |