expressão regular: corresponde a qualquer palavra até o primeiro espaço

145

Eu tenho a seguinte linha:

hshd    household   8/29/2007   LB

Quero corresponder a qualquer coisa que venha antes do primeiro espaço (espaço em branco). Então, neste caso, eu quero voltar

hshd
Drake
fonte
2
O que há de errado em dividir e obter o primeiro elem?
Avinash Raj

Respostas:

320
([^\s]+)

trabalho

SilentGhost
fonte
21
Gostaria ainda preceder ^ para obter a primeira palavra única
soulmerge
1
Embora geralmente correto, acho que a necessidade ^depende de implementações de linguagem ou regexp específicos. por exemplo, em Python, você usaria re.matchpara esta tarefa.
SilentGhost
5
Isso corresponde a todas as palavras e não apenas à primeira, veja este exemplo .
Ryan Gates,
1
@RyanGates desmarque Global e você verá que ele funciona como previsto e esperado. Consulte o SilentGhost para obter notas sobre implementações de idiomas, se você ainda estiver tendo problemas.
Volvox
1
@Volvox Obrigado, eu tinha perdido isso.
Ryan Gates,
46

Isso deve servir:

^\S*
Jeremy Stein
fonte
12

Talvez você possa tentar ([^ ]+) .*, o que deve dar tudo para o primeiro espaço em branco em seu primeiro grupo.

dsolimano
fonte
@ire_and_curses, em Sublime Text, que pulará a última palavra em uma linha. Por alguma razão, isso não ocorre: ([^]) +
hello_there_andy 4/19/19
6

Derivado da resposta de @SilentGhost, eu usaria:

^([\S]+)

Confira esta página interativa do regexr.com para ver o resultado e a explicação da solução sugerida.

MaEtUgR
fonte
4

para toda a linha

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

Eu acho que será uma boa solução: /\S\w*/

Jeremy Clarkson
fonte
1

Eu acho que uma palavra foi criada com mais de uma letra. Minha sugestão é:

[^\s\s$]{2,}
Behzad
fonte
-2

^ ([^ \ s] +) use isso; ele corresponde corretamente apenas à primeira palavra que você pode testar usando este link https://regex101.com/

darshan
fonte
é derivado dessa resposta.
Darshan
Depois explique por que você acha que uma nova resposta é necessária e explique qualquer diferença possível; mas você descobrirá que isso já é discutido nos comentários da resposta aceita. Além disso, o segundo mais votado resposta é muito semelhante, mas um pouco mais elegante na medida em que prefere o mais simples \Ssobre o equivalente, mas desajeitado[^\s] .
Tripleee 30/07/19