정규식을 사용하여 파일 콘텐츠 추출 [닫기]

정규식을 사용하여 파일 콘텐츠 추출 [닫기]

링크가 있는데 www와 .com을 반환하고 싶습니다.

예를 들어, www.blablabla.com다음만 반환됩니다.blablabla

어떻게 해야 하나요? 내가 '를 사용하면 grep '\.[a-zA-Z0-9\.-]*\.그것은 나에게 준다.blablabla.

답변1

$ echo "www.blablabla.com" | grep -oP '(?<=\.)[a-zA-Z0-9\.-]*(?=\.)' 
blablabla

-o-- 일치하는 줄의 일치하는 부분만 인쇄

-P--Perl 정규식 사용

(?<=\.)— 말 그대로 ."긍정적인 후면 보기"라고도 알려진 후…

[a-zA-Z0-9\.-]*-- 0개 이상의 소문자 및 대문자, 숫자 0-9, 리터럴 .및 하이픈과 일치합니다...

(?=\.).-- 그 뒤에 "긍정적인 전망"이라고도 알려진 텍스트가 옵니다 .

이것 좀 봐둘러보기에 대한 추가 정보 링크. 유사한 도구https://regex101.com/정규식을 분해하는 데 도움이 될 수 있습니다.

답변2

sed해결책:

$ str='Hellowww.hello.comMywww.world.comWorld'

$ echo "$str" | sed -e 's/com/com\n/g' | sed -ne '/.*www\.\(.*\)\.com.*/{ s//\1/p }'
hello
world

관련 정보