Perl 정규 표현 식 일치 계수
가정
$string
은 통계 가 필요 한 문자열 이 고 $regex
은 일치 하 는 정규 표현 식 입 니 다.프로젝트 1:
#method 1:
my $count = 0;
$count++ while ($string =~ m/$regex/g);
기본 값 은 첫 번 째 일치 만 되 돌아 오 는 것 을 고려 하여
/$regex/
마지막 으로 가입 /g
해 야 합 니 다.프로젝트 2:
#method 2:
my $count = ($string =~ s/$regex/$regex/g);
여기 서 자체 교 체 를 통 해 최종 교체 횟수 를 얻 는 것 도 일치 계수 와 같다.
프로젝트 3:
#method 3:
$count = () = $string =~ /$regex/g;
여기에 작은 trick 이 있 습 니 다.
$string =~ /$regex/g
는 모든 일치 하 는 scalar 변 수 를 포함 하 는 (1 차원 배열 로 이해 할 수 있 습 니 다) 를 되 돌려 줍 니 다. ()
을 통 해 익명 의 scalar 변 수 를 구성 한 다음 에 일반 변수 로 전환 합 니 다. perl 은 이러한 전환 결과 에 대해 scalar 의 길이, 즉 일치 계수 로 똑 같이 목적 을 달성 합 니 다.이에 비해 방안 은 가장 직관 적 이 고 두 줄 의 코드 를 사용 한 것 이 단점 이다.방안 3 은 가장 은밀 하지만 perl 프로그래머 들 이 가장 환영 하 는 terse style 이다.처음 입문 할 때 는 방안 이 더 좋다 고 생각 하지만 나중에 방안 3 이 더 좋다 는 것 을 알 게 될 것 이다.이것 도 외부 에서 perl 을 가장 어색 한 언어 로 평가 하 는 이유 일 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.