이 (?=regex)
을 내다 및 (?<=regex)
을 lookbehind하고 이해하는 데 도움이 필요 lookbehind. 는 펄 내다에 의해 혼란 내가 펄에 의해 혼란 스러워요
look to the right of (?=regex)
가 나는 또한 lookbehind (? < = 정규식)에만 고정 폭 정규식 작동 것으로 나타났습니다 look to the left of (?<=regex)
의미 lookbehind 하는가 의미 하는가, 나는 다음 질문을 간단한 예제를 사용합니다.
예를 들어, 코드의 다음 줄을주고, 나는 번호와 일치하고 싶지만 경우에만 코멘트 라인에 있지 않습니다. 내가 작동하지 않았다
/(?<!^#)\d/
match a number if the line does not start with #
다음 시도 그래서 그렇지,
1
#Comment 1
my $number = 2
을 2
일치해야합니다, 그것은 고정 된 폭 lookbehind 정규식하지 않기 때문에이다?
감사
어떤 언어 당신은 구문 분석하려고? –
나는 Perl 정규 표현식을 가르치고 있는데, 예를 들어 그 코드 만 사용하십시오. –
문맥과 규칙이 없어도 질문에 이해가되지 않습니다. –