특정 문자로 시작하는 왼쪽 괄호 뒤의 단어를 검색하기위한 올바른 grep regex-string은 무엇입니까?

안드레아스 L.

일부 파이썬 스크립트에서 glob.glob(parent_folder_path + glob_str). 관련 파일이있는이 줄은 적절한 grep 명령을 사용하여 콘솔에 인쇄되지만 지금까지 방법을 찾을 수 없었습니다.

모든 glob.glob-줄 을 찾기 위해 일한 것은 다음과 같습니다.

grep --exclude-dir='.history' --exclude-dir='__pycache__' --exclude-dir='.wine' -Rinw /home/andylu/Desktop/Python/Scripts/ -e 'glob.glob'

그래도 달성하고 싶은 정확성은 아닙니다. 'glob.glob(p*'정규식 문자열로 사용 하는 glob.glob()경우 검색 결과에가 있는 행만 나타납니다. (p*에게 결과를 줬기 때문에 나는 이것을 이해할 수 없었다 ().

다음 'glob.glob(p.*'으로 실제로 해결 된 것을 시도 하고 glob.glob(parent_folder_path + glob_str).

시행 착오를 통해 알아 냈지만 grep-syntax를 더 잘 이해하고 싶습니다. 에 따라, 때문에 마지막 정규식 문자열 작업을 했 이 치트 시트 , .어떤 문자와 의미 *반복적으로 여러 번에 대해?

DopeGhoti

당신은 당신의 추측에 매우 가깝습니다. 정규식에서 시퀀스 p*.는 "0 개 이상의 문자 p다음에 정확히 하나의 문자"를 의미합니다.

  • * -0 개 이상의 선행 토큰
  • . -정확히 한 문자

정규식에서보다 일반적인 "글로벌 와일드 카드" .*는 "모든 유형의 문자 중 하나 이상"을 의미합니다.

식에 $토큰 ( "도메인 끝"을 나타냄) 이 없기 때문에 추측이 작동했습니다 .

이 경우 다음 표현식을 원할 것입니다 /glob\.glob(p.*/.

  • glob\.glob(p- 리터럴 문자열 glob.glob(p, 다음에
  • .* -모든 유형의 캐릭터 중 하나 이상

더 자세히 설명하기 위해 예를 들어 더 광범위하게 모든 호출을에 일치시키고 싶다면 glob.glob()다음과 같이 할 수 있습니다 /glob\.glob\([a-z_+ ]+\)/.

  • glob\.glob\( -리터럴 문자열 glob.glob(
  • [a-z_+ ]+-문자 az, 밑줄, a +또는 공백 중 하나 이상
  • \) -리터럴 )

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관