cụm từ thông dụng: khớp bất kỳ từ nào cho đến khoảng trắng đầu tiên


145

Tôi có dòng sau:

hshd    household   8/29/2007   LB

Tôi muốn khớp bất cứ thứ gì có trước khoảng trắng đầu tiên (khoảng trắng). Vì vậy, trong trường hợp này, tôi muốn lấy lại

hshd

2
Có gì sai khi tách và lấy elem đầu tiên?
Avinash Raj

Câu trả lời:


319
([^\s]+)

làm


21
Tôi sẽ tiếp tục trả trước ^ để chỉ nhận từ đầu tiên
soulmerge

1
trong khi nói chung là chính xác, tôi nghĩ rằng sự cần thiết phải ^phụ thuộc vào việc triển khai ngôn ngữ cụ thể hoặc biểu thức chính quy. ví dụ trong Python bạn sẽ sử dụng re.matchcho nhiệm vụ này.
SilentGhost

5
Điều này phù hợp với tất cả các từ và không chỉ từ đầu tiên, xem ví dụ này .
Ryan Gates

1
@RyanGates bỏ chọn Toàn cầu và bạn sẽ thấy rằng nó hoạt động như dự định và dự kiến. Tham khảo SilentGhost để biết các lưu ý khi triển khai ngôn ngữ nếu bạn vẫn gặp sự cố.
Volvox

1
@Volvox Cảm ơn, tôi đã bỏ lỡ điều đó.
Ryan Gates


12

Có lẽ bạn có thể thử ([^ ]+) .*, thứ sẽ cung cấp cho bạn mọi thứ vào chỗ trống đầu tiên trong nhóm đầu tiên của bạn.


@ire_and_curses, trên Văn bản cao siêu, sẽ bỏ qua từ cuối cùng trong một dòng. Vì một số lý do, điều này không: ([^]) +
hello_there_andy


4

cho toàn bộ dòng

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


1

Tôi nghĩ rằng, một từ đã được tạo ra với nhiều hơn một chữ cái. Đề nghị của tôi là:

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

-2

^ ([^ \ s] +) sử dụng từ này chỉ khớp chính xác với từ đầu tiên bạn có thể kiểm tra từ này bằng liên kết này https://regex101.com/


nó bắt nguồn từ câu trả lời đó.
darshan

Sau đó giải thích lý do tại sao bạn nghĩ cần có câu trả lời mới và giải thích mọi khác biệt có thể có; nhưng bạn sẽ thấy rằng nó đã được thảo luận trong các ý kiến ​​về câu trả lời được chấp nhận. Ngoài ra, câu trả lời được bình chọn cao thứ hai là khá giống nhau, nhưng có phần thanh lịch hơn ở chỗ nó thích đơn giản \Shơn so với tương đương nhưng cồng kềnh [^\s].
tripleee
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.