Consideremos un ejemplo en Ruby:
puts "Matched!" unless /\d{3}-\d{4}/.match("555-1234").nil?
puts "Didn't match!" if /\d{3}-\d{4}/.match("Not phone number").nil?
El "/ \ d {3} - \ d {4}/"es la expresión regular, y como pueden ver es MUY co ncise forma de encontrar un partido en una cadena.
Por otra parte, el uso de grupos se puede extraer información, como por ejemplo:
match = /([^@]*)@(.*)/.match("[email protected]")
name = match[1]
domain = match[2]
Aquí, el paréntesis en la expresión regular marcan un grupo de captura, para que pueda ver exactamente lo que los datos es que se emparejado, por lo puedes hacer un procesamiento adicional.
Esto es solo la punta del iceberg ...hay muchas cosas diferentes que puede hacer en una expresión regular que hace que procesar texto sea REALMENTE fácil.
No olvide leer los Javadocs para java.util.regex.Pattern. Es una buena referencia. También http://perldoc.perl.org/perlre.html –