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

2
Apa yang salah dengan memecah dan mendapatkan elem pertama?
Avinash Raj

Jawaban:


320
([^\s]+)

bekerja


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


12

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


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


4

untuk seluruh baris

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


1

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

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

-2

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.