정규 표현식 : 첫 번째 공백까지 모든 단어와 일치


145

다음 줄이 있습니다.

hshd    household   8/29/2007   LB

첫 번째 공백 (공백) 앞에 오는 모든 것을 일치시키고 싶습니다. 이 경우에는 다시 돌아가고 싶습니다

hshd

2
첫 번째 요소를 나누고 얻는 데 어떤 문제가 있습니까?
Avinash Raj

답변:


319
([^\s]+)

공장


21
^를 추가하여 첫 단어 만 얻습니다
soulmerge

1
일반적으로 정확하지만, 필요는 ^특정 언어 구현 또는 정규 표현식 에 달려 있다고 생각합니다 . 예를 들어 파이썬 re.match에서는이 작업에 사용 합니다.
SilentGhost

5
이것은 첫 번째 단어뿐만 아니라 모든 단어와 일치합니다 . 이 예를 참조하십시오 .
Ryan Gates

1
@RyanGates는 Global을 선택 해제하면 의도 한대로 예상대로 작동 함을 알 수 있습니다. 여전히 문제가있는 경우 언어 구현에 대한 참고 사항은 SilentGhost를 참조하십시오.
Volvox

1
@ Volvox 감사합니다, 나는 그것을 놓쳤다.
Ryan Gates


12

아마도 당신은 시도 할 수 ([^ ]+) .*있습니다. 첫 번째 그룹의 첫 번째 공백에 모든 것을 줄 것입니다.


Sublime Text에서 @ire_and_curses는 한 줄의 마지막 단어를 건너 뜁니다. 어떤 이유로, 이것은 그렇지 않습니다 : ([^]) +
hello_there_andy


4

전체 라인

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


1

하나 이상의 단어로 단어가 만들어 졌다고 생각합니다. 내 제안은 :

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

-2

^ ([^ \ s] +)이 링크를 사용하여 이것을 테스트 할 수있는 첫 번째 단어와 정확히 일치합니다. https://regex101.com/


그 대답에서 파생되었습니다.
darshan

그런 다음 새로운 답이 필요하다고 생각하는 이유를 설명하고 가능한 차이점을 설명하십시오. 그러나 허용 된 답변에 대한 의견에서 이미 논의 된 것을 알 수 있습니다. 또한 두 번째로 높은 투표 응답은 상당히 비슷하지만 \S, 그에 비해 단순 하지만 어수선한 것을 선호한다는 점에서 다소 우아 [^\s]합니다.
tripleee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.