grep을 사용하여 마지막 공백을 가져 오려고합니다.grep을 사용하여 정규 표현식의 마지막 문자를 가져 오는 방법
이 나에게 최초의 공간을 잡아 :
나는 비 욕심 연산자를 사용했을하지만이 작동하지 않는 자바에서는echo "toto tata titi" | grep -o " .*$"
:
echo "toto tata titi" | grep -o " .*?$"
그것은 아무것도에게
를 반환하지예상되는 결과는 titi
입니다.
당신의 정규식은 내가하고 싶었던 일을합니다. 고마워요. 하지만 왜 내가 내 -E와 함께 작동하지 않는지 아십니까? – JPB
@ Jean-Philippe : 정규식은 제목 문자열에 왼쪽에서 오른쪽으로 적용되므로 첫 번째 공간에서 시작하여 점차 끝까지 확장되어 성공합니다. 더 이상 자세를 취할 필요가 없습니다. –
@Jean :'/. *? $ /'매치는 먼저 공백을 찾고 거기에서 매칭을 시작합니다. 문자열의 끝까지 일치를 유지하고 완료됩니다. 욕심이없는 것은 해석자가 현재 유닛 ('.')을 계속 검색할지 아니면 다음 유닛과 일치시킬지를 결정할 때만 작용합니다. 그것은 가장 짧은 해결책을 찾을 때까지 역 추적하지 않습니다. – Tim