Latest web development tutorials

Expresiones regulares - Ejemplos

Las expresiones simples

La forma más simple de una expresión regular que coincide con su propio carácter único ordinaria en la cadena de búsqueda. Por ejemplo, el modo de un solo carácter, tales como A, ya sea en la cadena de búsqueda donde siempre coincide con la letra A. El siguiente es un ejemplo de un patrón de expresión regular de algunos de los personajes individuales:

/a/
/7/
/M/

Se puede combinar entre sí para formar un solo carácter de muchos grandes expresiones. Por ejemplo, la siguiente expresión regular es una combinación de expresiones de un solo carácter: una, 7 y M.

/a7M/

Tenga en cuenta que ningún operador de concatenación. Simplemente escriba otro personaje detrás de un personaje.

partidos de caracteres

Punto (.) Coincide con la cadena en una variedad de impresión y de no impresión caracteres, sólo una excepción carácter. La excepción es el carácter de nueva línea (\ n). La siguiente expresión regular detecta aac, abc, acc, ADC, etc., así como A1C, A2c, AC, y un # c:

/a.c/

Para que coincida con una cadena que contiene el nombre del archivo, y el punto (.) Es una parte integral de la cadena de entrada, delante de la expresión regular en el período más el carácter de barra invertida (\). Para ilustrar esto, la siguiente expresión regular detecta filename.ext:

/filename\.ext/

Estas expresiones sólo le permiten relacionar "cualquier" carácter individual. La lista puede ser necesario para que coincida con el conjunto de caracteres específico. Por ejemplo, es posible que desee encontrar títulos de los capítulos con los números (Capítulo 1, Capítulo 2, y así sucesivamente).

Las expresiones entre paréntesis

Para crear una lista de búsqueda de grupo de caracteres, entre corchetes ([y]) la colocación de uno o más caracteres individuales dentro. Cuando el personaje entre corchetes, la lista llamada "expresión de corchetes." Al igual que en cualquier otro lugar, caracteres ordinarios representan a sí mismos y entre corchetes, es decir, que coincide con uno de los suyos en el texto de entrada. Pierden su significado cuando aparecen en la expresión soporte de caracteres más especiales. Sin embargo, hay algunas excepciones, tales como:

  • Si] carácter no es el primero, es el final de una lista. Para que coincida con el personaje lista], lo puso en primer lugar, seguido a principios de [la parte posterior.
  • \ Personaje sigue siendo un carácter de escape. Para que coincida con el carácter \, \\ utilizar.

Encerrado en un partido de expresión de corchetes solamente un personaje de una expresión regular en un solo carácter en esa posición. La siguiente expresión regular que coincide con el Capítulo 1, Capítulo 2, Capítulo 3, Capítulo 4 y Capítulo 5:

/Chapter [12345]/

Tenga en cuenta que la ubicación del espacio después de la palabra Capítulo y con respecto al carácter dentro de los corchetes son fijos. expresión de corchetes especifica sólo coincide con una posición de carácter individual inmediatamente después de la palabra Capítulo y el espacio detrás del juego de caracteres. Esta es la novena posición de carácter.

Para utilizar un rango en lugar de los propios personajes para representar a juego juego de caracteres, utilice un guión (-) en el rango del carácter de inicio y carácter de final por separado. valor de carácter para determinar el orden relativo de los caracteres individuales dentro de la gama. La siguiente expresión regular contiene una expresión gama, la expresión es equivalente a la gama se muestra arriba en la lista paréntesis.

/Chapter [1-5]/

Cuando se usa en este rango manera especificada, tanto el valores inicial y final están incluidas en el ámbito de aplicación. Nota Es también importante, de acuerdo con el orden de clasificación de Unicode, el valor debe comenzar al final de los valores anteriores.

Incluir en el guión expresión de corchetes, utilice uno de los métodos siguientes:

  • Con la barra invertida escapar de ella:
    [\-]
  • El guión al principio o al final de la lista entre paréntesis. Las siguientes expresiones coinciden con todas las letras minúsculas y guiones:
    [-a-z]
    [a-z-]
    
  • Crear un rango, en este rango, el valor inicial es menor que el carácter de guión y el carácter final es igual o mayor que el guión. Los siguientes dos expresiones regulares satisfacen este requisito:
    [!--]
    [!-~]
    

Para encontrar una lista o no dentro del alcance de todos los personajes, establecer el símbolo de intercalación (^) al principio de la lista. Si cualquier otra ubicación en la lista para insertar caracteres aparecen, entonces concuerda con sí mismo. La siguiente expresión regular coincide con cualquier carácter, 4 o 5 dígitos y más allá:

/Chapter [^12345]/

En el ejemplo anterior, la expresión coincide con cualquiera de los 3, 4 o 5 números y caracteres distintos en la novena posición. Así, por ejemplo, el capítulo 7 es una coincidencia, el capítulo 9 es un partido.

La expresión anterior se puede utilizar un guión (-) para indicar:

/Chapter [^1-5]/

Un uso típico de una expresión entre corchetes es especificar las letras mayúsculas o minúsculas o cualquier número de partidos. La siguiente expresión especifica un partido de este tipo:

/[A-Za-z0-9]/

Sustituciones y agrupación

Reemplazar el uso carácter | para permitir la comunicación entre dos o más alternativas para elegir. Por ejemplo, títulos de los capítulos se pueden ampliar las expresiones regulares para devolver una gama más amplia que coincide con el título del capítulo. Sin embargo, esto no es tan simple como se podría pensar. Reemplazar Partido carácter | expresión máxima de un lado.

Se podría pensar que coincide con la siguiente expresión aparece al principio y al final de la línea, seguido de uno o dos dígitos del capítulo o sección:

/^Chapter|Section [1-9][0-9]{0,1}$/

Por desgracia, la expresión regular por encima de las líneas de la palabra, ya sea primer capítulo, o al final de la línea a juego con la palabra sección y todos los números siguientes a juego. Si la cadena de entrada es el Capítulo 22, entonces la expresión anterior sólo coincide con la palabra capítulo. Si la cadena de entrada es la Sección 22, entonces la expresión coincide con la sección 22.

Para hacer las expresiones regulares son más fáciles de controlar, se puede utilizar paréntesis para limitar el alcance de la sustitución, es decir, para garantizar que sólo se aplica a las dos palabras de capítulos y secciones. Sin embargo, los paréntesis se usan para crear una sub-expresión, y posiblemente capturarlos para su uso posterior, que se describe en la sección acerca de las referencias inversas. Por las expresiones regulares anteriores para agregar paréntesis lugar, puede hacer que la expresión regular que coincide con los capítulos 1 o la Sección 3.

La siguiente expresión regular utiliza paréntesis para agrupar los capítulos y secciones, con el fin de funcionar correctamente la expresión:

/^(Chapter|Section) [1-9][0-9]{0,1}$/

Aunque estas expresiones funcionan, pero el capítulo | soportes de sección alrededor cogerá cualquiera de las dos palabras en un partido para su uso posterior. Dado que la expresión anterior es sólo un conjunto de paréntesis, por lo que sólo capturó a un "sub-partidos".

En el ejemplo anterior, sólo tiene que utilizar paréntesis para seleccionar una combinación de palabras entre el título en el artículo. Para evitar coincidencias para ser salvo para uso futuro, antes de que el patrón de expresión regular se coloca entre paréntesis?:. La siguiente modificación ofrece la misma capacidad sin guardar los partidos del niño:

/^(?:Chapter|Section) [1-9][0-9]{0,1}$/

Además :? carácter Exon, los otros dos son metacaracteres no capturar crean algo llamado partido "anticipación". el uso de búsqueda hacia delante hacia adelante? = especificado, que coincide en soportes coinciden con el patrón de expresión regular del punto de partida de la cadena de búsqueda. Revertir el uso de búsqueda hacia delante ?! especificado, que coincide con el patrón de expresión regular no coincide con la cadena de búsqueda cadena que comienza.

Por ejemplo, suponga que tiene un documento que contiene vínculos a Windows 3.1, Windows 95, Windows 98 y las referencias de Windows NT de. Supongamos, además, que es necesario actualizar el documento apuntará a Windows 95, Windows 98 y Windows NT todas las referencias cambian a Windows 2000. La siguiente expresión regular (este es el primer ejemplo de una predicción hacia delante) coincide con Windows 95, Windows 98 y Windows NT:

/Windows(?=95 |98 |NT )/

Encontrar un partido, el partido buscará inmediatamente para el próximo partido en el texto (no incluidos los caracteres de búsqueda hacia delante) después. Por ejemplo, si la expresión anterior corresponde Windows 98, en lugar continuará con la búsqueda después de 98 después de Windows.

otros ejemplos

Estos son algunos ejemplos de expresiones regulares:

正则表达式 描述
/\b([a-z]+) \1\b/gi 一个单词连续出现的位置。
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ 将一个URL解析为协议、域、端口及相对路径。
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/ 定位章节的位置。
/[-a-z]/ a至z共26个字母再加一个-号。
/ter\b/ 可匹配chapter,而不能匹配terminal。
/\Bapt/ 可匹配chapter,而不能匹配aptitude。
/Windows(?=95 |98 |NT )/ 可匹配Windows95或Windows98或WindowsNT,当找到一个匹配后,从Windows后面开始进行下一次的检索匹配。
/^\s*$/ 匹配空行。
/\d{2}-\d{5}/ 验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。
/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ 匹配 HTML 标记。