/^hola/
Actualmente me encuentro trabajando sobre un proyecto de clustering y necesito filtrar la salidad de un programa, ya que no pude recompilar el programa xD, mejor opte por llamarlo desde C con la función System [Sintaxis: System(comando);], para ahondar más sobre el tema es acerca de encontrar las relaciones de palabras en un texto y de todas las relaciones que encuentra el parser solo necesito obtener algunas (verbo:sustantivo, verbo:adjetivo, etc).
Para ello uso un parser llamado Minipar el cual me ha dado algunos problemillas para recompilarlo y ya fastidiado opte por hacer lo más viable, invocarlo desde C y filtrar la salida que necesito usando el comando 'grep' y pasarle la expresion regular que necesito encuente.
Por ello y a modo de que no sabia mucho de expresiones regulares dejo a continuación una explicación acerca de estas y algunas maneras de hacer uso de ellas.
Expresiones Regulares.[tomado de aqui]
Las expresiones regulares constituyen un mecanismo bastante potente para realizar manipulaciones de cadenas de texto. El proceso para el que se usan estas expresiones, presente en el mundo el UNIX y el lenguaje Perl, es el de buscar y/o substituir una subcadena de texto dentro de otra cadena.
En principio esto puede hacerse usando los métodos del objeto string, pero el problema surge cuando no tenemos una subcadena fija y concreta sino que queremos buscar un texto que responda a un cierto esquema, como por ejemplo: buscar aquellas palabras que comienzan con http: y finalizan con una \, o buscar palabras que contengan una serie de números consecutivos, etc.; es en estos casos cuando tenemos que utilizar las expresiones regulares.
La subcadena que buscamos en el texto es lo que se llama un patrón y se construye encerrando entre dos barras inclinadas ( / ) una serie de caracteres normales y símbolos especiales llamados comodines o metacaracteres, (algo parecido a buscar archivos con nombre *.bat cuando queremos encontrar los ficheros con extensión bat). Este patrón es una descripción del texto que se está buscando y JavaScript encontrará las subcadenas que concuerdan con ese patrón o definición.
A continuación se muestra los caracteres que se usan para generar patrones y lo que significa cada uno de ellos, además de un ejemplo de como usarlos.
| Significado | Ejemplo | Resultado | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La tabla que sigue describe los modificadores que pueden usarse con los caracteres que forman el patrón. Cada modificador actúa sobre el carácter o el paréntesis inmediatamente anterior.
| Descripción | Ejemplo | Resultado | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Los siguientes son caracteres especiales o metacaracteres para indicar caracteres de texto no imprimibles, como puedan ser el fín de línea o un tabulador, o grupos predefinidos de caracteres (alfabéticos, numéricos, etc...)
| Significado | Ejemplos | Resultado | |
| \b | Principio o final de palabra | /\bver\b/ | Encuentra ver en "ver de", pero no en "verde" |
| \B | Frontera entre no-palabras | /\Bver\B/ | Empareja ver con "Valverde" pero no con "verde" |
| \d | Un dígito | /[A-Z]\d/ | No falla en "A4" |
| \D | Alfabético (no dígito) | /[A-Z]\D/ | Fallaría en "A4" |
| \O | Carácter nulo | ||
| \t | Caracter ASCII 9 (tabulador) | ||
| \f | Salto de página | ||
| \n | Salto de línea | ||
| \w | Cualquier alfanumérico,
| /\w+/ | Encuentra frase en "frase.", pero no el . (punto). |
| \W | Opuesto a \w
| /\W/ | Hallaría sólo el punto (.) |
| \s | Carácter tipo espacio (como tab) | /\sSi\s/ | Encuentra Si en "Digo Si ", pero no en "Digo Sientate" |
| \S | Opuesto a \s | ||
| \cX | Carácter de control X | \c9 | El tabulador |
| \oNN | Carácter octal NN | ||
| \xhh | El hexadecimal hh | /\x41/ | Encuentra la A (ASCII Hex41) en "letra A" |


Comments (0)
Publicar un comentario