expresión regular: empareja cualquier palabra hasta el primer espacio


145

Tengo la siguiente línea:

hshd    household   8/29/2007   LB

Quiero hacer coincidir todo lo que viene antes del primer espacio (espacio en blanco). Entonces, en este caso, quiero volver

hshd

2
¿Qué hay de malo en dividir y obtener el primer elemento?
Avinash Raj

Respuestas:


320
([^\s]+)

trabajos


21
Me gustaría más anteponer ^ para obtener la primera palabra
soulmerge

1
Si bien en general es correcto, creo que la necesidad ^depende de implementaciones de lenguaje particulares o expresiones regulares. por ejemplo en Python que usarías re.matchpara esta tarea.
SilentGhost

55
Esto coincide con todas las palabras y no solo con la primera, vea este ejemplo .
Ryan Gates

1
@RyanGates anula la selección de Global y verás que funciona según lo previsto y esperado. Consulte SilentGhost para obtener notas sobre implementaciones de lenguaje si todavía tiene problemas.
Volvox

1
@Volvox Gracias, me lo había perdido.
Ryan Gates


12

Quizás podría intentarlo ([^ ]+) .*, lo que debería darle todo al primer espacio en blanco de su primer grupo.


@ire_and_curses, en Sublime Text, que omitirá la última palabra en una línea. Por alguna razón, esto no: ([^]) +
hello_there_andy


4

para toda la línea

^(\w+)\s+(\w+)\s+(\d+(?:\/\d+){2})\s+(\w+)$


1

Creo que se creó una palabra con más de una letra. Mi sugerencia es:

[^\s\s$]{2,}

-2

^ ([^ \ s] +) use esto, coincide correctamente solo con la primera palabra, puede probar esto usando este enlace https://regex101.com/


se deriva de esa respuesta.
darshan

Luego explique por qué cree que se requiere una nueva respuesta y explique cualquier diferencia posible; pero encontrará que ya se discute en los comentarios sobre la respuesta aceptada. Además, la segunda respuesta más votada es bastante similar, pero algo más elegante, ya que prefiere la más simple \Ssobre la equivalente pero torpe [^\s].
tripleee
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.