J1. Opciones de expresiones regulares PCRE

Las expresiones regulares se usan tanto en el archivo de configuración del Servidor como en el Centro de Control cuando se especifican objetos que se excluirán del escaneo en la configuración del Escáner.

Las expresiones regulares se escriben de la siguiente forma:

qr{EXP}options

donde EXP — es la expresión en sí, options — la secuencia de opciones (cadena de letras), qr{} — los metacaracteres literales. En general, el diseño se ve así:

qr{pagefile\.sys}i — archivo de intercambio del SO Windows NT

A continuación se muestra una descripción de las opciones y las expresiones regulares. Para una descripción más detallada, vea http://www.pcre.org/pcre.txt.

Opción 'a', que coincide con PCRE_ANCHORED

Con esta configuración, la plantilla se "ancla" obligatoriamente, es decir, se limita a coincidir solo con la primera posición de búsqueda en la línea de búsqueda ("línea del tema"). Esto también se puede lograr con las construcciones apropiadas en la plantilla misma.

La opción 'i', que coincide a PCRE_CASELESS

Con esta configuración, las letras en la plantilla coinciden con las letras mayúsculas y minúsculas. Esta característica se puede cambiar en la plantilla configurando la opción (?i).

La opción 'x', que coincide a PCRE_EXTENDED

Con esta configuración, los espacios entre caracteres en la plantilla se ignoran a menos que estén precedidos por los caracteres de control o estén dentro de una clase de caracteres. El espacio no incluye el carácter VT (código 11). Además, los caracteres fuera de la clase de caracteres entre el carácter #, no precedido por un carácter de control, y un carácter de nueva línea inclusive, también se ignoran. Esta opción se puede cambiar en la plantilla configurando la opción (?x). Esta configuración permite incluir comentarios dentro de plantillas complejas. Tenga en cuenta que esto solo se aplica a los caracteres de datos. Los espacios en blanco no pueden estar en la plantilla dentro de las secuencias de caracteres especiales, por ejemplo, dentro de una secuencia (?(, que introduce una subplantilla condicional.

Opción 'm', que coincide a PCRE_MULTILINE

De manera predeterminada, PCRE supone que la línea del tema consiste en una línea de caracteres única (incluso si en realidad contiene caracteres de separación por líneas). El metacarácter del "inicio de línea" "^" se yuxtapone solo en el comienzo de una línea, mientras que el metacarácter "fin de línea" "$" solo se yuxtapone en el fin de línea o antes del la separación por líneas final de la línea (a menos que esté habilitada la opción PCRE_DOLLAR_ENDONLY).

Si se marca la casilla PCRE_MULTILINE, metacaracteres "inicio de línea" y "fin de línea" se anclan a cualquier separación por líneas de la línea inmediatamente después o antes de ellos en la línea del tema, así como en el principio y en fin de la línea. Esta opción se puede cambiar en la plantilla configurando la opción (?m). Si no hay caracteres en el texto "\n" o si la plantilla se encuentra ^ o $, la opción PCRE_MULTILINE no tiene sentido.

Opción 'u', que coincide con PCRE_UNGREEDY

Esta opción anula la "avidez" de los cuantificadores entonces se convierten en "no ávidos" de forma predeterminada, pero restauran su "avidez" si después sigue "?". Esto también se puede configurar con la opción (?U) en la plantilla.

Opción 'd', que coincide con PCRE_DOTALL

Con esta configuración, el metacarácter de punto en la plantilla coincide con todos los caracteres, incluido el carácter de nueva línea. Sin ella, se excluyen los caracteres de nueva línea. Esta opción se puede cambiar en la plantilla estableciendo una nueva opción (?s). La clase negativa, por ejemplo, [^a], siempre coincide con un carácter de nueva línea, independientemente de la configuración de esta opción.

Opción 'e', que coincide con PCRE_DOLLAR_ENDONLY

Con esta configuración, el carácter del dólar en la plantilla solo coincide al final de la línea del tema. Sin esta opción, el dólar también se yuxtapone en la posición inmediatamente anterior al carácter de serparación por líneas de línea en el fin de la línea (pero no antes de cualquier otra nueva línea). La opción PCRE_DOLLAR_ENDONLY se ignora si se establece la opción PCRE_MULTILINE.