Necesito Y lógico en regex.Regex para hacer coincidir la cadena que contiene dos nombres en cualquier orden
algo como
Jack y James
de acuerdo con la siguientes cadenas
'hola jack aquí es James'
'hi James aquí es jack '
Necesito Y lógico en regex.Regex para hacer coincidir la cadena que contiene dos nombres en cualquier orden
algo como
Jack y James
de acuerdo con la siguientes cadenas
'hola jack aquí es James'
'hi James aquí es jack '
Se puede hacer uso de cheques lookarounds:
^(?=.*\bjack\b)(?=.*\bjames\b).*$
Este enfoque tiene la ventaja de que se puede especificar fácilmente varias condiciones.
^(?=.*\bjack\b)(?=.*\bjames\b)(?=.*\bjason\b)(?=.*\bjules\b).*$
¿Alguien le importaría explicar con un poco más de detalle cómo funciona este ejemplo? – bjmc
sintaxis 'vim':'^\ (. * \
¿Alguien sabe por qué se rompería esto (al menos en JavaScript) cuando trato de buscar cadenas que comiencen con '#'? '^ (? =. * \ b # friday \ b) (? =. * \ b # tgif \ b). * $' no puede coincidir con 'blah #tgif blah #friday blah' pero'^(? =. * \ bfriday \ b) (? =. * \ btgif \ b). * $ 'funciona bien. – btleffler
Probar:
james.*jack
Si desea dos cosas al mismo tiempo, entonces or
ellos:
james.*jack|jack.*james
La respuesta aceptada funcionó.esto también funcionó perfectamente para mí. Para buscar código en el estudio visual 'encontrar resultados'. –
¡Este funciona para mí y es mucho más conciso y fácil de entender que la respuesta aceptada! –
que puede hacer:
\bjack\b.*\bjames\b|\bjames\b.*\bjack\b
Explicación de los comandos que voy a escribir: -
.
significa cualquier carácter, dígito puede venir en lugar de.
*
significa uno o cero ocurrencia de cosa writtern justo antes.
|
significa 'o'.
Así,
james.*jack
buscaría james
, entonces cualquier número de caracteres hasta jack
viene.
Desde que desea ya sea jack.*james
o james.*jack
Por lo tanto Comando:
jack.*james | james.*jack
Como nota al margen, también podría haber editado la respuesta @ icyrock (que es la misma como el tuyo, solo 6 años antes), tu explicación es muy útil por sí misma. – WoJ
duplicado posible: [Mulitple-palabras-en-cualquier expresión regular desde el pedido usando-] (http : //stackoverflow.com/questions/1177081/mulitple-words-in-any-order-using-regex) –