que tienen una expresión regular que tiene este aspecto:? Se puede hacer en expresiones regulares
/^(?:\w+\s)*(\w+)$*/
¿Cuál es el ?:
?
que tienen una expresión regular que tiene este aspecto:? Se puede hacer en expresiones regulares
/^(?:\w+\s)*(\w+)$*/
¿Cuál es el ?:
?
Indica que el subpatrón es un subpatrón de no captura. Eso significa que cualquier cosa que coincida con (?:\w+\s)
, aunque esté encerrado por ()
, no aparecerá en la lista de coincidencias, solo (\w+)
lo hará.
Todavía está buscando un patrón específico (en este caso, un solo carácter en blanco después de al menos una palabra), pero no le importa lo que realmente coincide.
+1 más información: http://www.regular-expressions.info/brackets.html –
Significa solo grupo pero no recuerdo la parte agrupada.
Por defecto (
)
le dice al motor de expresiones regulares que recuerde la parte de la cadena que coincide con el patrón que hay entre ellas. Pero a veces sólo queremos grupo de un patrón sin activar la memoria de expresiones regulares, para ello utilizamos (?:
a su lugar de (
Además de las excelentes respuestas dadas, su utilidad también para simplificar el código necesario para extraer los grupos de los resultados coincidentes. Por ejemplo, su grupo (\ w +) se conoce como grupo 1 sin tener que preocuparse por ningún grupo que aparezca antes. Esto puede mejorar el mantenimiento de su código.
Está ahí para confundir a las personas. – JAL
posible duplicado de [¿Grupo no capturado? (?:)] (http://stackoverflow.com/questions/3512471/non-capturing-group) – HamZa