regex - probar - Expresiones regulares: unir cualquier cosa
expresiones regulares javascript (7)
Normalmente el punto coincide con cualquier carácter, excepto las líneas nuevas .
Entonces, si .* No funciona, configure la opción "dot coincide con las líneas nuevas, también" (o use (?s).* ).
Si usa JavaScript, que no tiene una opción "dotall", intente con [/s/S]* . Esto significa "hacer coincidir cualquier cantidad de caracteres que sean espacios en blanco o espacios en blanco" - efectivamente "emparejar cualquier cadena".
Otra opción que solo funciona para JavaScript (y no es reconocida por ningún otro sabor regex) es [^]* que también coincide con cualquier cadena. Pero [/s/S]* parece ser más utilizado, tal vez porque es más portátil.
¿Cómo hago una expresión para que coincida absolutamente con cualquier cosa (incluidos los espacios en blanco)? Ejemplo:
Regex: compré _ ovejas.
Partidos: compré ovejas. Compré una oveja Compré cinco ovejas.
Intenté usar (. *) Pero parece que no funciona.
Actualización: lo hice funcionar, aparentemente el problema no estaba con las expresiones regulares, es solo que los caracteres (.) Estaban siendo escapados. Gracias de todos modos, gente.
Prueba esto:
I bought (.* )?sheep
o incluso
I bought .*sheep
Use .* Y asegúrese de estar utilizando el equivalente de una sola línea de las implementaciones, de modo que coincida con las terminaciones de línea .
Hay una gran explicación aquí -> http://www.regular-expressions.info/dot.html
(.*?) coincide con cualquier cosa, lo he estado utilizando durante años.
(.*?) no funciona para mí. Estoy intentando hacer coincidir los comentarios rodeados por /* */ , que pueden contener varias líneas.
Prueba esto:
([a]|[^a])
Esta expresión regular coincide con a o anything else expect a . Absolutamente, significa emparejar todo.
Por cierto, en mi situación, //*([a]|[^a])*/ coincide con los comentarios del estilo C.
Gracias @mpen por una forma más concisa.
[/s/S]
Elige y memoriza 1 de los siguientes !!! :)
[/s/S]*
[/w/W]*
[/d/D]*
Explicación:
/s : espacios en blanco /S : no en blanco
/w : word /W : not word
/d : digit /D : not digit
(Puede intercambiar * por + si desea 1 o MÁS caracteres [en lugar de 0 o más]).
EDICION DE BONOS:
Si desea unir todo en una sola línea, puede usar esto:
[^/n]+
Explicación:
^ : no
/n : linebreak
+ : para 1 personaje o más
<?php
$str = "I bought _ sheep";
preg_match("/I bought (.*?) sheep", $str, $match);
print_r($match);
?>