ekspresi reguler: cocokkan kata apa saja hingga spasi pertama

145

Saya memiliki baris berikut:

hshd    household   8/29/2007   LB

Saya ingin mencocokkan apa pun yang muncul sebelum ruang pertama (spasi putih). Jadi, dalam hal ini, saya ingin kembali

hshd
Itik jantan
sumber
2
Apa yang salah dengan memecah dan mendapatkan elem pertama?
Avinash Raj

Jawaban:

320
([^\s]+)

bekerja

SilentGhost
sumber
21
Saya akan lebih lanjut menambahkan untuk mendapatkan kata pertama saja
soulmerge
1
sementara secara umum benar, saya pikir perlunya ^tergantung pada implementasi bahasa tertentu atau regexp. misalnya dengan Python yang akan Anda gunakan re.matchuntuk tugas ini.
SilentGhost
5
Ini cocok dengan semua kata dan bukan hanya yang pertama, lihat contoh ini .
Ryan Gates
1
@RyanGates batal memilih Global dan Anda akan melihat bahwa itu berfungsi seperti yang diharapkan dan diharapkan. Lihat SilentGhost untuk catatan tentang implementasi bahasa jika Anda masih mengalami masalah.
Volvox
1
@Volvox Terima kasih, saya melewatkannya.
Ryan Gates
46

Ini harus dilakukan:

^\S*
Jeremy Stein
sumber
12

Mungkin Anda bisa mencoba ([^ ]+) .*, yang seharusnya memberi Anda segalanya untuk blank pertama di grup pertama Anda.

dsolimano
sumber
@ire_and_curses, pada Sublime Text, itu akan melompati kata terakhir dalam satu baris. Untuk beberapa alasan, ini tidak: ([^]) +
hello_there_andy
6

Berasal dari jawaban @SilentGhost yang akan saya gunakan:

^([\S]+)

Periksa halaman interaktif regexr.com ini untuk melihat hasil dan penjelasan untuk solusi yang disarankan.

MaEtUgR
sumber
4

untuk seluruh baris

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

Saya pikir, itu akan menjadi solusi yang baik: /\S\w*/

Jeremy Clarkson
sumber
1

Saya pikir, sebuah kata dibuat dengan lebih dari satu huruf. Saran saya adalah:

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

^ ([^ \ s] +) menggunakannya dengan benar hanya cocok dengan kata pertama yang dapat Anda uji menggunakan tautan ini https://regex101.com/

darshan
sumber
berasal dari jawaban itu.
darshan
Kemudian jelaskan mengapa menurut Anda jawaban baru diperlukan, dan jelaskan perbedaan yang mungkin terjadi; tetapi Anda akan menemukan bahwa itu sudah dibahas dalam komentar pada jawaban yang diterima. Juga, jawaban tertinggi kedua cukup mirip, tetapi agak lebih elegan karena lebih suka yang lebih sederhana \Sdaripada yang setara tetapi kikuk [^\s].
tripleee