perl - 정규 표현 식 처리 텍스트

2528 단어 정규 표현 식perl
perl - 정규 표현 식 처리 텍스트
1. s / / 로 교체
  이 동작 은 지정 한 변수 가 패턴 에 맞 는 부분 을 다른 문자열 로 바 꿀 수 있 습 니 다.
$_ = "He's out bowling with Barney tonight.";
if ( s/Barney/Fred/){
print "$_";
}

출력:
He's out bowling with Fred tonight.
물론 패턴 문자열 과 바 꾸 기 문자열 은 더 복잡 할 수 있 습 니 다.

$_ = "He's out bowling with Barney tonight.";
s/with (\w+)/against $1's team/){
print "$_";
}

출력:
He's out bowling against Barney's team tonight.

$_ = "green scaly dinosaur";
if (s/(\w+) (\w+)/$1, $2/){
	print "The string change into : $_
"; } if ( s/^/huge, /){ print "The string change into : $_
"; } if (s/, .*een,/ /){ print "The string change into : $_
"; }

출력:
The string change into : green, scaly dinosaur
The string change into : huge, green, scaly dinosaur
The string change into : huge  scaly dinosaur
2. / g 로 전역 교체
앞의 예 에서 볼 수 있 듯 이 다른 교체 할 수 있 는 부분 이 있어 도 s / / 는 한 번 만 교체 할 수 있 습 니 다.물론 이것 은 묵인 적 인 행동 일 뿐이다.g. s / / 모든 가능 하고 중복 되 지 않 는 교 체 를 할 수 있 습 니 다.

$_ = "home, sweet home!";
if ( s/home/cave/g){
	print "$_";
}

출력: cave, sweet cave!
자주 사용 하 는 전역 교 체 는 공백 을 줄 이 는 것 입 니 다. 즉, 연속 적 인 공백 을 단일 공백 으로 바 꾸 는 것 입 니 다.
$_= "Input   data   and    output    data";
if (s/\s+/ /g){
print "$_";
}
출력:
Input data and output data
시작 과 끝 에 있 는 공백 을 어떻게 삭제 하 는 지 는 간단 합 니 다.

s/^\s+//g ;#       
s/\s+$//g ;#       

3. 대소 문자 변환
교체 연산 에 서 는 단 어 를 모두 고 쳐 서 알파벳 (또는 소문 자) 을 써 야 한다.PERL 로 는 쉽게 할 수 있 습 니 다. 일부 반사 선 이동 문자 만 사용 하면 됩 니 다.
\ U 이동 문 자 는 다음 문 자 를 대문자 로 변환 합 니 다.
\ \ L 문 자 를 소문 자로 변환 합 니 다.
소문 자 를 사용 합 니 다.

$_="I saw Barney with Fred.";
if (s/(fred|barney)/\U$1/gi){
	print "$_
"; } if (s/(fred|barney)/\L$1/gi){ print "$_
"; } if (s/(fred|barney)/\u$1/gi){ print "$_
"; } if (s/(fred|barney)/\l$1/gi){ print "$_
"; }

출력:
I saw BARNEY with FRED.
I saw barney with fred.
I saw Barney with Fred.
I saw barney with fred.

좋은 웹페이지 즐겨찾기