Para hacer coincidir una subcadena entre el primero [
y el último ]
, puede usar
\[.*\] # Including open/close brackets
\[(.*)\] # Excluding open/close brackets (using a capturing group)
(?<=\[).*(?=\]) # Excluding open/close brackets (using lookarounds)
Vea una demostración de expresiones regulares y una demostración de expresiones regulares # 2 .
Use las siguientes expresiones para unir cadenas entre los corchetes más cercanos :
NOTA : *
coincide con 0 o más caracteres, use +
para coincidir con 1 o más para evitar coincidencias de cadenas vacías en la lista / matriz resultante.
Siempre que esté disponible el soporte de lookaround, las soluciones anteriores se basan en ellos para excluir el soporte de apertura / cierre inicial / final. De lo contrario, confíe en capturar grupos (se han proporcionado enlaces a las soluciones más comunes en algunos idiomas).
Si necesita hacer coincidir paréntesis anidados , puede ver las soluciones en la expresión regular para hacer coincidir el hilo de paréntesis equilibrados y reemplazar los corchetes con los cuadrados para obtener la funcionalidad necesaria. Debe usar grupos de captura para acceder a los contenidos con el soporte de apertura / cierre excluido:
[^]]
es más rápido que no codicioso (?
), y también funciona con sabores de expresiones regulares que no admiten no codiciosos. Sin embargo, no codicioso se ve mejor.