2011-12-28 2 views
0

나는 * .cpp 파일을 읽을 계획이며 각 읽기 라인을 정규식과 비교하고 싶습니다. 나는.읽기 라인을 정규식과 비교하기

# include <iostream> 

공백을 제외하고 #이 줄이 시작되는지 확인하고 싶습니다. 가능합니까?

+1

예. '#. * \ S'와 같은 것, 나는 믿는다. – AJG85

+0

@ AJG85 어떻게 읽겠습니까? 해시가 0 번 이상 계속되는 경우 ... \ S 피팅은 어떻게됩니까? 라인이 해시로 시작하지 않고 공백이 거의없는 경우 어떻게해야합니까? 너의 패턴이 효과가 있니? – user336635

+0

'#'는 리터럴입니다.'. *'는 0 이상입니다.'\ S'는 "공백이 아닌"펄의 속기입니다 ... Posix와 호환되도록'[^ [: space :]]'를 사용할 수 있습니다 "공백이 아님" – AJG85

답변

1

당신이 필요로하는 모든 행의 첫번째 비 공백 문자가 작동해야하는 # 있는지 확인하는 경우 :

^\s*# 
  • ^ 앵커 정규 표현식 라인의 시작 부분에 당신이 검사를 시작할 수 있도록 첫 문자
  • \s에서 그 공간 기호 (공백, 탭, 개행)
  • * 0 또는 이전 문자 이상 반복하는 수단 (C)의 (공간 약자 ASE)
  • #는 공백 어떻게 당신이 정규 표현식을 사용합니다 것은 당신이 읽기와 분석에 사용할거야 어떤 언어에 따라 달라집니다 #

입니다) 순서 후 첫 번째 심볼은 (비어있을 수 있음을 확인합니다 그 파일.

+2

감사합니다. 0이 아닌 하나 더. – user336635

+0

감사합니다. 당신 말이 맞습니다. 답변을 업데이트했습니다. –