Categorías
Java

Obtenga palabras clave del lenguaje de programación mediante el uso de expresiones regulares en Java

Podemos usar expresiones regulares para obtener todas las palabras clave de Java en un programa. La clave es usar el límite de palabras correctamente. Por ejemplo, dado «static staticField», la primera palabra debe reconocerse como una palabra clave, pero la segunda no.

Aquí está el código:

package regex;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
 
public class RegTest {
	public static void main(String[] args) {
		String keyString = "abstract assert boolean break byte case catch "
				+ "char class const continue default do double else enum"
				+ " extends false final finally float for goto if implements "
				+ "import instanceof int interface long native new null " 
				+ "package private protected public return short static "
				+ "strictfp super switch synchronized this throw throws true " 
				+ "transient try void volatile while";
		String[] keys = keyString.split(" ");
		String keyStr = StringUtils.join(keys, "|");
 
		String regex = "b("+keyStr+")b";
		String target = "static public staticpublic void main()";
		Pattern p = Pattern.compile(exp);
		Matcher m = p.matcher(target);
 
		while(m.find()){
			System.out.println("|"+m.group()+"|");
			System.out.println(m.start());
			System.out.println(m.end());
		}
	}
}
  LeetCode - Número más grande (Java)

Producción:

|static|
0
6
|public|
7
13

Revisa Coincidencia de límites para más ejemplos.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *